小程序的API都是异步的吗?

发布于 7 年前作者 longgang14633 次浏览最后编辑 7 年前来自 issues

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

3 回复
sdai
sdai1 楼6 年前
//删除图片
    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 我重新发吧,感觉他自动把我代码删除了

chao65
chao652 楼6 年前

是的,都会异步执行

guiyingyan
guiyingyan3 楼5 年前

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