收藏
回答

wx.cloud.uploadFile里计算的上传时间,怎么让方法外的变量延迟接收?

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

但是莫得法子(试过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 个回答

  • Admin ²º²³
    Admin ²º²³
    2020-02-20
    谢邀:
    推荐await方式哈
    
    这个是典型的异步变阻塞处理需求
    
    如果不await就在.then里继续代码逻辑
    
    2020-02-20
    有用 2
    回复 3
    • 拎包哥
      拎包哥
      2020-02-20
      请问现在用await还需要导入npm包吗
      2020-02-20
      回复
    • Admin ²º²³
      Admin ²º²³
      2020-02-20回复拎包哥
      好像是要的。你试试看。我这是要的。
      2020-02-20
      回复
    • 拎包哥
      拎包哥
      2020-02-21回复Admin ²º²³
      你好,我已经用了await了,请问为什么还是不能阻塞在promise外的同名变量前?谢谢!
      2020-02-21
      回复
  • Mr.Zhao
    Mr.Zhao
    2020-02-20
    wx.cloud.uploadFile   改成同步的  async await
    
    2020-02-20
    有用 1
    回复 1
    • 拎包哥
      拎包哥
      2020-02-21
      3Q!
      2020-02-21
      回复
登录 后发表内容
问题标签