HeavenTang

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

react 使用进度条获取后端进度展示(setInterval、clearInterval)、antd之Progress

setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。

setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。
setInterval(() => {//..方法},500) 和清除定时器clearInterval

  1. 组件进度条
    引入组件
    import React, { Component } from 'react'; import { Progress } from 'antd';
点击查看代码
 const cacheProgress = (
          <div>
              {this.state.cacheProcess && this.state.cacheProcess.currentDetail?this.state.cacheProcess.currentDetail:null}
              <Progress
                  strokeColor={{
                      from: '#108ee9',
                      to: '#87d068',
                  }}
                  percent={ this.state.cacheProcess && this.state.cacheProcess.progress ? this.state.cacheProcess.progress :0 }
                  status="active"
              />
          </div>
      );
  1. 定义变量
    image

  2. 开启方法
    image

  3. 编写向后端发送请求查询进度, 直到100%后,停止发送

点击查看代码
 getRefreshStatus = () =>{
        let _this = this;
        if( _this.state.isSyncCached ){
            let id = setInterval(() => {
                if(undefined == _this.state.cacheProcess.code || undefined == _this.state.cacheProcess.code || _this.state.cacheProcess.code != '1' ){
                    getRefreshArrangeStatus({}, authority.importSchedual, respData => {
                        this.setState({ cacheProcess : respData ? respData :{code:'0'} });
                    })
                }else{
                    this.setState({
                        uploading: false,
                    });
                    clearInterval(id)
                }
            }, 500);
        }
    }

posted on   HeavenTang  阅读(1591)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示