收藏
回答

使用progress组件和downloadTask显示下载进度时怎么减少setData的调用?

 data: {
    progress: 0
  },

download: function () {
      let downloadTask = wx.downloadFile({
        url: ‘test.php’,
        success: res => {}
      });


      downloadTask.onProgressUpdate(res => {
        this.setData({progress:res.progress});
      });
    }
  }

<progress class="progress" percent="{{progress}}" border-radius="10" show-info="true" stroke-width="4" color="#00a7e2"></progress>
回答关注问题邀请回答
收藏

3 个回答

  • Admin ²º²⁴
    Admin ²º²⁴
    2020-05-28

    自己用个变量记录上次setData时间,间隔100ms更新一次setData

    2020-05-28
    有用 3
    回复 4
    • 三千
      三千
      2020-05-28
      这种可能下载太快了的话100获取不到,我试试!
      2020-05-28
      回复
    • Admin ²º²⁴
      Admin ²º²⁴
      2020-05-28回复三千
      100ms+10的倍数时setdata一下。保证0,100的时候能setData一下。
      2020-05-28
      回复
    • Admin ²º²⁴
      Admin ²º²⁴
      2020-05-28
      100ms或者10的倍数时setdata一下。保证0,100的时候能setData一下。
      2020-05-28
      回复
    • 三千
      三千
      2020-05-28回复Admin ²º²⁴
      ohhhhhhh!好的谢谢!!!!!可以的!!!
      2020-05-28
      回复
  • ω
    ω
    2020-12-17
    可以根据downloadTask.onProgressUpdate中res.progress为100时再setData吗
    
    2020-12-17
    有用
    回复 1
    • 三千
      三千
      2021-01-13
      =-=好久之前的帖了,我是按照上面大哥的回复,当在10的倍数时setdata一下,否则每过100ms setdata一下
      2021-01-13
      回复
  • 三千
    三千
    2020-05-27

    有时候下载得快节流函数就不好用了..

    2020-05-27
    有用
    回复
登录 后发表内容
问题标签