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

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

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

項目為什么使用進度條

前端使用進度條顯示的主要原因是提升用戶體驗。它能讓用戶了解當前操作的進度和剩余時間,減少不確定感。

特別是在處理大文件上傳、下載或長時間運行的操作時,進度條可以提供視覺反饋,避免用戶感到操作卡頓或無響應,從而提升整體使用滿意度。

進度條涉及技術

  • 線程:進度條所對應的內(nèi)容一般是新建一個線程進行處理,因為所需要處理的時間相對較長。
  • Redis:要實時反饋給前端當前任務的進度,每執(zhí)行一步,及時更新執(zhí)行的進度。
  • ProgressBar:前端可以使用對應的進度條組件,比如ProgressBar。

代碼實現(xiàn)

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

  • 調(diào)用業(yè)務處理接口:該接口中包含較長時間的處理過程
      @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);
                        //每做完一個實時更新
                        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è)務處理進度
    @GetMapping("/redis/{key}")
    public R find(@PathVariable String key){
        return R.ok(RedisUtils.getCacheObject(key));
    }
    

總結

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

相關文章

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

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

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

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

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

    java配置文件取值的多種方式總結

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

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

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

    mybatis一對一查詢功能

    所謂的一對一查詢,就是說我們在查詢一個表的數(shù)據(jù)的時候,需要關聯(lián)查詢其他表的數(shù)據(jù)。這篇文章主要介紹了mybatis一對一查詢功能,需要的朋友可以參考下
    2017-02-02
  • 關于springboot 中使用httpclient或RestTemplate做MultipartFile文件跨服務傳輸?shù)膯栴}

    關于springboot 中使用httpclient或RestTemplate做MultipartFile文件跨服務傳輸

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

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

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

    java Swing組件setBounds()簡單用法實例分析

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

    Java項目啟動成功、失敗信息實時反饋提醒問題(郵件或者短信)

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

    如何解決遇到的錯誤信息?java:?找不到符號?符號:?變量?log

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

最新評論

鄂州市| 郑州市| 佛学| 肥西县| 波密县| 镇沅| 突泉县| 元朗区| 丹凤县| 天祝| 宁明县| 正宁县| 连平县| 广汉市| 福鼎市| 沧州市| 海口市| 泉州市| 朔州市| 安新县| 洛扎县| 满洲里市| 内丘县| 延边| 万州区| 绍兴市| 浦北县| 新竹市| 海原县| 汾阳市| 沙河市| 清河县| 镇赉县| 中超| 金堂县| 桃江县| 西贡区| 高清| 南川市| 甘洛县| 霍邱县|