小程序的API都是异步的吗?
发布于 5 年前 作者 longgang 14442 次浏览 来自 官方Issues

小程序的API都是异步的吗?是不是带success的都要一层一层往里面套?

3 回复
//删除图片
    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()
    })

@

undefined 我重新发吧,感觉他自动把我代码删除了

是的,都会异步执行

跟小程序api没关系,js就是单线程的,支付宝、百度都改变不了

回到顶部