wx.cloud.uploadFile里计算的上传时间,怎么让方法外的变量延迟接收?
发布于 6 年前 作者 kfan 10731 次浏览 来自 问答

大佬们好,如代码所示,我想要将图片上传的时间计算出来后让方法外的变量接收,然后让我进行下一步逻辑。

但是莫得法子(试过setTimeout,但是不行),请指示!谢谢!

      var upBegin = new Date()
      for (let i = 0; i < TFP.length; i++) {
        console.log(i)
        wx.cloud.uploadFile({
          cloudPath'warehouse/北京天安门1000000方厂房/WHImg' + i + '.png',
          filePath: TFP[i]
        }).then(res=>{
          this.imgList.push(res.fileID)
          var upOver = new Date()
          this.differ = upOver - upBegin 
          // 在这里计算图上上传需要的时间
          console.log('inside',this.differ)        
        })
      }
      // 怎么等到differ计算出来后,云方法外的变量才接收?
      console.log('outside',this.differ)
2 回复
谢邀:
推荐await方式哈

这个是典型的异步变阻塞处理需求

如果不await就在.then里继续代码逻辑
wx.cloud.uploadFile   改成同步的  async await
回到顶部