最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Springboot集合前端實(shí)現(xiàn)進(jìn)度條顯示功能實(shí)例

 更新時(shí)間:2024年11月28日 10:38:38   作者:知識(shí)淺談  
這篇文章主要介紹了使用進(jìn)度條提升用戶體驗(yàn)的原因,特別是在處理大文件上傳、下載或長(zhǎng)時(shí)間運(yùn)行的操作時(shí),進(jìn)度條通過(guò)實(shí)時(shí)反饋任務(wù)進(jìn)度,減少用戶的不確定感,文中給出了詳細(xì)的代碼示例,需要的朋友可以參考下

項(xiàng)目為什么使用進(jìn)度條

前端使用進(jìn)度條顯示的主要原因是提升用戶體驗(yàn)。它能讓用戶了解當(dāng)前操作的進(jìn)度和剩余時(shí)間,減少不確定感。

特別是在處理大文件上傳、下載或長(zhǎng)時(shí)間運(yùn)行的操作時(shí),進(jìn)度條可以提供視覺(jué)反饋,避免用戶感到操作卡頓或無(wú)響應(yīng),從而提升整體使用滿意度。

進(jìn)度條涉及技術(shù)

  • 線程:進(jìn)度條所對(duì)應(yīng)的內(nèi)容一般是新建一個(gè)線程進(jìn)行處理,因?yàn)樗枰幚淼臅r(shí)間相對(duì)較長(zhǎng)。
  • Redis:要實(shí)時(shí)反饋給前端當(dāng)前任務(wù)的進(jìn)度,每執(zhí)行一步,及時(shí)更新執(zhí)行的進(jìn)度。
  • ProgressBar:前端可以使用對(duì)應(yīng)的進(jìn)度條組件,比如ProgressBar。

代碼實(shí)現(xiàn)

使用new Thread新建一個(gè)線程對(duì)業(yè)務(wù)進(jìn)行處理,并不斷更新Redis中的值,實(shí)時(shí)維護(hù)進(jìn)度和總量,確保前端能查到這個(gè)比例關(guān)系。

  • 調(diào)用業(yè)務(wù)處理接口:該接口中包含較長(zhǎng)時(shí)間的處理過(guò)程
      @GetMapping("/startProgress")
        public R startProgress() {
            String key = IdUtil.getSnowflakeNextIdStr();
            Result result = new Result();
            result.setStatus("0");
            result.setProceed(0);
            result.setTotal(100);
            result.setMsg("文件處理中...");
            RedisUtils.setCacheObject("Test:"+key,result, Duration.ofMinutes(2L)); //
    
            new Thread(()->{
                for (int i = 0; i < 100; i++) {
                    try {
                        Thread.sleep(100);
                        //每做完一個(gè)實(shí)時(shí)更新
                        Result result1 = RedisUtils.getCacheObject(key);
                        result1.setProceed(result1.getProceed()+1);
                        RedisUtils.setCacheObject(key,result1);
                    } catch (InterruptedException e) {
                        throw new RuntimeException(e);
                    }
                }
                Result result1 = RedisUtils.getCacheObject(key);
                result1.setStatus("1");
                result1.setMsg("文件處理完成");
                RedisUtils.setCacheObject(key,result1);
            }).start();
            return R.ok("操作成功",key);
        }
    
        @Data
        class Result{
            String status;
            Integer total;
            Integer proceed;
            String msg;
        }
    
    
  • 輪詢業(yè)務(wù)處理進(jìn)度
    @GetMapping("/redis/{key}")
    public R find(@PathVariable String key){
        return R.ok(RedisUtils.getCacheObject(key));
    }
    

總結(jié)

到此這篇關(guān)于Springboot集合前端實(shí)現(xiàn)進(jìn)度條顯示功能的文章就介紹到這了,更多相關(guān)Springboot前端實(shí)現(xiàn)進(jìn)度條顯示內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java實(shí)現(xiàn)讀取、刪除文件夾下的文件

    java實(shí)現(xiàn)讀取、刪除文件夾下的文件

    本文給大家分享的是java實(shí)現(xiàn)讀取、刪除文件夾下的文件,其中File.delete()用于刪除“某個(gè)文件或者空目錄”!所以要?jiǎng)h除某個(gè)目錄及其中的所有文件和子目錄,要進(jìn)行遞歸刪除,有需要的小伙伴可以參考下。
    2015-05-05
  • springBoot下實(shí)現(xiàn)java自動(dòng)創(chuàng)建數(shù)據(jù)庫(kù)表

    springBoot下實(shí)現(xiàn)java自動(dòng)創(chuàng)建數(shù)據(jù)庫(kù)表

    這篇文章主要介紹了springBoot下實(shí)現(xiàn)java自動(dòng)創(chuàng)建數(shù)據(jù)庫(kù)表的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • java配置文件取值的多種方式總結(jié)

    java配置文件取值的多種方式總結(jié)

    這篇文章主要為大家詳細(xì)介紹了java配置文件取值的多種方式,包括一般項(xiàng)目,國(guó)際化項(xiàng)目,springboot項(xiàng)目,文中的示例代碼講解詳細(xì),需要的可以參考下
    2023-11-11
  • Java鏈表元素查找實(shí)現(xiàn)原理實(shí)例解析

    Java鏈表元素查找實(shí)現(xiàn)原理實(shí)例解析

    這篇文章主要介紹了Java鏈表元素查找實(shí)現(xiàn)原理實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • mybatis一對(duì)一查詢功能

    mybatis一對(duì)一查詢功能

    所謂的一對(duì)一查詢,就是說(shuō)我們?cè)诓樵円粋€(gè)表的數(shù)據(jù)的時(shí)候,需要關(guān)聯(lián)查詢其他表的數(shù)據(jù)。這篇文章主要介紹了mybatis一對(duì)一查詢功能,需要的朋友可以參考下
    2017-02-02
  • 關(guān)于springboot 中使用httpclient或RestTemplate做MultipartFile文件跨服務(wù)傳輸?shù)膯?wèn)題

    關(guān)于springboot 中使用httpclient或RestTemplate做MultipartFile文件跨服務(wù)傳輸

    這篇文章主要介紹了關(guān)于springboot 中使用httpclient或RestTemplate做MultipartFile文件跨服務(wù)傳輸?shù)膯?wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • Maven3.9.9環(huán)境安裝配置的實(shí)現(xiàn)步驟

    Maven3.9.9環(huán)境安裝配置的實(shí)現(xiàn)步驟

    Maven是一個(gè)強(qiáng)大的項(xiàng)目管理和構(gòu)建自動(dòng)化工具,本文主要介紹了Maven3.9.9環(huán)境安裝配置的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-05-05
  • java Swing組件setBounds()簡(jiǎn)單用法實(shí)例分析

    java Swing組件setBounds()簡(jiǎn)單用法實(shí)例分析

    這篇文章主要介紹了java Swing組件setBounds()簡(jiǎn)單用法,結(jié)合實(shí)例形式分析了Swing組件setBounds()方法的功能與簡(jiǎn)單使用方法,需要的朋友可以參考下
    2017-11-11
  • Java項(xiàng)目啟動(dòng)成功、失敗信息實(shí)時(shí)反饋提醒問(wèn)題(郵件或者短信)

    Java項(xiàng)目啟動(dòng)成功、失敗信息實(shí)時(shí)反饋提醒問(wèn)題(郵件或者短信)

    這篇文章主要介紹了Java項(xiàng)目啟動(dòng)成功、失敗信息實(shí)時(shí)反饋提醒問(wèn)題(郵件或者短信),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • 如何解決遇到的錯(cuò)誤信息?java:?找不到符號(hào)?符號(hào):?變量?log

    如何解決遇到的錯(cuò)誤信息?java:?找不到符號(hào)?符號(hào):?變量?log

    使用Lombok的@Slf4j注解時(shí)出現(xiàn)log變量找不到問(wèn)題,這篇文章主要介紹了如何解決遇到的錯(cuò)誤信息?java:?找不到符號(hào)?符號(hào):?變量?log的相關(guān)資料,文中將解決的辦法介紹的非常詳細(xì),需要的朋友可以參考下
    2025-05-05

最新評(píng)論

娄底市| 宁城县| 丰台区| 阿拉善右旗| 汉寿县| 凤庆县| 耒阳市| 嘉峪关市| 福鼎市| 湖南省| 娄底市| 衡阳县| 阳西县| 郸城县| 林芝县| 巴楚县| 贵州省| 辉县市| 云和县| 高平市| 尼玛县| 内乡县| 额济纳旗| 武义县| 阜平县| 云安县| 龙游县| 日土县| 莱西市| 景东| 彭州市| 长治市| 仁化县| 五峰| 百色市| 湖北省| 庄浪县| 兴化市| 新野县| 永德县| 滦南县|