收藏
回答

两次查询数据库,前面的结果openid作为第二次的参数,怎么为空?

const app = getApp()
// 设置数据库
const db = wx.cloud.database()
let that = this
Page({
  /**
   * 页面的初始数据
   */
  data: {
    user_info:[],
    queryResultname: '',
    queryResultsex: '',
    queryResultbirthday: '',
    queryResultposition: '',
    queryResultintro: '',
    queryResulttel: '',
  },
  
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function () {
    // 从云端获取个人信息
    wx.cloud.callFunction({
      name: "getopenid",
       success(res){
      // 授权用户的openid
      let _openid = res.result.openid
      }
     })
    // 查询当前用户所有的 counters
    db.collection('user_info').where({
      openid: this.data._openid
    })
    .get({
      success: res => {
        this.setData({
          queryResultname: JSON.stringify(res.data[0].name, null0).replace("\"","").replace("\"",""),
          queryResultsex: JSON.stringify(res.data[0].sex, null0).replace("\"","").replace("\"",""),
          queryResultbirthday: JSON.stringify(res.data[0].birthday, null0).replace("\"","").replace("\"",""),
          queryResultposition: JSON.stringify(res.data[0].position, null0).replace("\"","").replace("\"",""),
          queryResultintro: JSON.stringify(res.data[0].intro, null0).replace("\"","").replace("\"",""),
          queryResulttel: JSON.stringify(res.data[0].tel, null0).replace("\"","").replace("\"",""),
        })
        console.log('[数据库] [查询记录] 成功: ', res)
      },
      fail: err => {
        wx.showToast({
          icon: 'none',
          title: '查询记录失败'
        })
        console.error('[数据库] [查询记录] 失败:', err)
      }
    })
  },


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

2 个回答

  • 拾忆
    拾忆
    2021-07-25

    使用 async/await

    例如 const openid = await db.collection('user_info').get()

    然后再把查询出来的openid用到下面的操作中。

    2021-07-25
    有用
    回复 4
    • 宇哥
      宇哥
      发表于移动端
      2021-07-25
      另外数据库查询之外的代码怎么保证在数据出来后再执行?
      2021-07-25
      回复
    • 宇哥
      宇哥
      发表于移动端
      2021-07-25
      小程序端不支持async吧
      2021-07-25
      回复
    • 拾忆
      拾忆
      2021-07-25回复宇哥
      支持
      2021-07-25
      1
      回复
    • 宇哥
      宇哥
      发表于移动端
      2021-07-25回复拾忆
      另外数据库查询之外的代码怎么保证在数据出来后再执行?能帮忙写个demo?
      2021-07-25
      回复
  • 宇哥
    宇哥
    2021-07-25

    另外数据库查询之外的代码怎么保证在数据出来后再执行?

    2021-07-25
    有用
    回复
登录 后发表内容