收藏
回答

【求助】获取云端数据后如何在Onload里调用该数据?

   db.collection('wastePackage').get({

        success: res => 

        {

          // 获取返回数据写入

          _this.setData(

            {

              wastelist:res.data,

            }

          );

          wx.showToast({

            title: '数据获取成功',

          })

        fail: err => {

          wx.showToast({

            icon: 'none',

            title: '提交失败'

          })

          console.error('[数据库] [新增记录] 失败:', err)

        }

      }

      }

通过以上方法从云端获取了数据。但是在外面的OnLoad中打印    console.log(_this.data.wastelist)

发现是Null。如果直接在请求数据的success回调里打印该数据是有的。

想问一下问题出现在哪里?



回答关注问题邀请回答
收藏

2 个回答

  • 瞿云
    瞿云
    2020-11-16

    执行顺序如下:

    1. db.collection('wastePackage').get
    2. get之后的函数,比如你说的Console.log
    3. get若成功,则调用success,若失败则调用fail

    所以,如果要查询后再打印,就需要放在success或fail里

    2020-11-16
    有用
    回复
  • 加肥猫
    加肥猫
    2020-11-14

    问题出在执行顺序上,db查询是异步操作

    2020-11-14
    有用
    回复 2
    • 沈
      2020-11-14
      请问如果我需要查询完毕之后再在外面调用该数据库,应该怎么操作呢?
      2020-11-14
      回复
    • 加肥猫
      加肥猫
      2020-11-14回复
      用回调函数或者async/await
      2020-11-14
      回复
登录 后发表内容
问题标签