云数据库中查询数据,为什么回调风格不行,Promise风格就可以呢?
发布于 6 年前 作者 vzhao 7796 次浏览 来自 官方Issues

下面回调风格的代码段,几个回调函数success、fail和complete都没有被执行,日志中没有出现"查询记录成功"、"查询失败!!!"和“怎么回事?”中任何一项。

db.collection('users').where({
  openid:wxContext.OPENID
}).get().({
    success: function (res) {
      console.log("查询记录成功")
      isExist = true
      console.log(res.data)
    },
    fail: function (res) {
      console.log("查询失败!!!")
    },
    complete: function(res) {
      console.log("怎么回事?")
    }
  })

下面代码段则可以查询到结果,日志中出现"结束查询"。

db.collection('users').where({
  openid:wxContext.OPENID
}).get().then(res => {
  console.log("结束查询")
  console.log(res.data)
  if (res.data.length > 0) {
     isExist = true
    console.log("用户存在")
  }
})
1 回复

云开发-服务端 API 文档-第一页就有描述:
在 wx-server-sdk 中不再兼容 success、fail、complete 回调,总是只会返回 Promise。

回到顶部