收藏
回答

大佬救我,为什么我调用updateMyCount函数报错,调用其他函数无反应啊?

我小程序开发,从checkResul函数开始,在里面调用不了声明的函数,数据库权限是所以人可读,假如注释掉updateMyCount函数就会执行到if(0==sam)的打印sam=0就停了,哭了呜呜呜

// pages/last/last.js

var util = require('../../utils/util.js');//用于时间

//const $ = db.command.aggregate

const app = getApp();//获取全局对象userInfo={}

const db = wx.cloud.database();//引入数据库

var myDate;

var time;


var wxNum;

var place;

var age;

var hopeSex;

var samOrDiffCity;

Page({

 

  data: {

    myJoinId:'', //报名参加创建join时自己的id

    

    youSex:'',

    wxNum: '',

    age: '',

    place:'',

    hopeSex:'',

    samOrDiffCity:'',   

    sam: 0 ,

    myCount: 0,

    

    myActWxNum: '',

    myActAge: ''

  },


  handleInputWxNum: function (e) {

     wxNum=e.detail.value

      

  },


  handleInputPlace: function (e) {

     place= e.detail.value 

   

  },


  inputAge: function(age){

     age=age.detail.value 

    

  },


  radioGroupSex: function (sex) {

     hopeSex= sex.detail.value 

  

  },

  radioGroupCity: function (city) {

    samOrDiffCity= city.detail.value

  },







  

  addData: function(){

  db.collection('join').add({

    data: {

      wxNum: this.data.wxNum,

      place: this.data.place,

      hopeSex: this.data.hopeSex,

      samOrDiffCity: this.data.samOrDiffCity,

      age: this.data.age,

      sam:0,

      myCount:0,

    }

  }).then((res) => {

    var myJoinId = res._id;

   this.setData({

     myJoinId: myJoinId

   })


    wx.showToast({

      title: '报名成功!!'

    })

  })

},



checkResult: function(){

   myDate = new Date();

   time = myDate.getDay();//获取今天星期几

if(time==5){

  updateMyCount();

   db.collection('join').doc(this.data.myJoinId).get().then(()=>{

     var sam=res.data.sam;

    

      if (0==sam){

        whereData();

        removeMyJoin();

        wx.redirectTo({

           url: '../result/result'

        })

      }

}

    else{

      wx.redirectTo({

        url: '../waitResult/waitResult'

      })

    }

},



updateMyCount: function(){

  var myJoinId = this.data.myJoinId;

  db.collection('join').doc(myJoinId).update({

    data: {

      myCount: 1

    },

  }).then((res)=>{console.log('updateMyCount 调用成功')})

    

},


lookMyJoin: function () {

  db.collection('join').doc(this.data.myJoinId).get().then((res) => {

    console.log('i am sam=1,succsee to get myself join record', res);

    getApp().globalData2.resulted = res.data.myActWxNum;

    getApp().globalData2.resulted = res.data.myActAge;

   }) 

},


whereData: function () {

  db.collection('join').where({

    sam: 0,

    myCount: 0,

    hopeSex:this.data.youSex

  }).get().then((res) => { 

      console.log('succeed to where get data :', res.data);

      getApp().globalData.result = res.data[0];

      var youId = res.data[0]._id;

      console.log('var youId=', youId);

      updateYourJoin(youId);

    })

},


updateYourJoin: function () {

  db.collection('join').doc(youId).update({

    data: {

      sam: 1,

      myActWxNum: that.data.wxNum,

      myActAge: that.data.age

    },

  }).then((res) => { 

    console.log('succeed to 局更 your sam:1,myActWxNum...');

  })

},


removeMyJoin: function () {

  db.collection('join').doc(this.data.myJoinId).remove({

  }).then((res) => {

    console.log('succeed to remove my join record');

   }) 

},



  onShareAppMessage: function () {


  }

})

辛苦大佬们了

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

2 个回答

  • brave
    brave
    2020-03-21

    Page内需要通过this获取 this.updateMyCount()并不能直接updateMyCount()

    2020-03-21
    有用 2
    回复 1
  • 拾忆
    拾忆
    2020-03-20

    试试改成 this.updateMyCount() 呢?

    2020-03-20
    有用 1
    回复 1
登录 后发表内容
问题标签