函数嵌套的问题,和云开发数据库相关
发布于 6 年前 作者 jinghou 14796 次浏览 来自 问答


大概就是我获取用户的nickname入库,先判断库中有没有,没有就填上,有就不添了。
现在判断库中没有该用户,但是无法添上,单独使用按钮这些来setDatabase添加没有问题,函数套用来调用this.setDatabase()就不行了,改用that.setDatabase()也无法调用,我是放在index.js中的
const testDB = wx.cloud.database();

    testDB.collection('userInfo').get({

      // data 字段表示需新增的 JSON 数据

      data: {

        nickName: getApp().globalData.userInfo.nickName,

      },

      success(res) {

        // res 是一个对象,其中有 _id 字段标记刚创建的记录的 id

        console.log(res.data);

        if (res.data.length == 0) {

          console.log("new user");

          this.setDatabase();

          wx.showToast({

            title: '用户首次登录',

            icon: 'none',

          })

        } else {

       

      },

setDatabase: function() {

    const testDB = wx.cloud.database();

    testDB.collection('userInfo').add({

      // data 字段表示需新增的 JSON 数据

      data: {

        avatarUrl: getApp().globalData.userInfo.avatarUrl,

        nickName: getApp().globalData.userInfo.nickName,    

      },

      success(res) {

        // res 是一个对象,其中有 _id 字段标记刚创建的记录的 id

        console.log("success")

      },

      fail(res) {

        console.log("1111");

        wx.showToast({

          title: '新增记录失败',

          icon: 'none',

        })

      }

    })

  }

});



回到顶部