小程序中链式then的疑问?
发布于 7 年前 作者 phuang 10690 次浏览 来自 官方Issues
我网上看教程写了一个链试的then
希望的结果是: 
1 删除图片
2 上传图片
3 保存信息
但我运行代码还
1 删除图片
3 保存信息
2 上传图片
这是什么原因?

//删除图片
    const delFile = new Promise((reslove, reject) => { //删除图片
      
      //删除图片
      wx.cloud.deleteFile({
        fileList: [this.data.customer.fileId],
        success: res => {
          console.log("1/删除图片")
          reslove(res)
        },
        fail: err => {
          reject(err)
        }
      })
    })

    delFile.then(res => { //上传图片
      
      //上传图片
      let fileName = app.globalData.openid + Date.now() + '.png'
      wx.cloud.uploadFile({
        cloudPath: fileName,
        filePath: this.data.showImg,
        success: res => {
          console.log("2/上传图片")
          return Promise.resolve(res)
        },
        fail: err => {
          return Promise.reject(err)
        }
      })
    }).then(res => { 
      
      //保存信息
      customerDb.add({ 
        data: {
          phone: this.data.customer.phone,
         },
        success: res => {
          console.log('3/保存信息')
          return Promise.resolve(res)
        },
        fial: err => {
          console.log(err)
          return Promise.reject(err)
        }
      })
    }).then(res => {
      this.showMsg('提交成功')
      wx.hideLoading()
    }).catch(err => {
      wx.hideLoading()
    })

1 回复

我就看不懂这么写是干啥

回到顶部