云开发修改数据库的问题
发布于 6 年前 作者 sunqiang 2498 次浏览 来自 问答

问题代码:

e:function()
  {
    const db=wx.cloud.database();
    db.collection('menu').doc('len').get({
      success:res=>{
        console.log(res)
        this.setData({a:false})
        console.log(this.data.a)//调用成功后修改数据并打印
      },
      fail:err=>{
        throw err
      }
    })
    console.log(this.data.a);//在调用的外面打印
  },

定义一个函数用于调用数据库中的内容,并在调用成功后修改页面的数据 a(原本数据a为true),打印的结果为true(在我理解中,即页面数据中的a已经被修改为true)。在调用数据库的函数外再次打印 a 出来的结果仍为 false。请问是否是在修改数据库的返回函数进行修改数据是不能做到修改页面的相应数据的????如果是,怎么样才能做到完调用数据成功后修改页面的数据????感谢各位大佬的帮助

3 回复

需要在云函数中处理一些异步操作,在异步操作完成后再返回结果给到调用方。此时我们可以通过在云函数中返回一个 Promise 的方法来完成

函数是异步的

异步的原因。

回到顶部