云函数要打开本地调试才可调用?
发布于 6 年前 作者 yinmin 3186 次浏览 来自 问答

开发工具为stable版本,新装node.js版本8.9,在本地云函数根目录和每个云函数目录都安装了npm install --save wx-server-sdk,云函数在本地调试没问题

,在不打开本地调试的情况下,调用云函数没反应,或根本没有调用。

本人是小白,放上代码,恳请高人指点!

调用端:

 formSubmit: function(e) {
      console.log('form发生了submit事件,携带数据为:', e)
      wx.cloud.callFunction({      
        name: 'checkin',
        data: {
          a: e.detail.value.username,
          b: e.detail.value.userpsw
        },        
        success: res => {
          if (res.result.data[0].UserPsw == e.detail.value.userpsw) {
            console.log('登陆成功,用户是', res.result.data[0].NickName)
            this.setData(
              app.globalData.MyUser = res.result.data[0]
            )
            //调取云端工程数据并赋值全局变量
            wx.cloud.callFunction({
              name: 'getvalue',
              data: {},
              success: res => {
                console.log(res)
                this.setData(
                  app.globalData.ProjInfo = res.result.data
                )
                console.log('赋值全局变量成功:', app.globalData.ProjInfo)
                let list = app.globalData.ProjInfo
                console.log(list)
                wx.redirectTo({
                  url: '../sginfo/sginfo',
                })
              },
              fail: err => {
                console.log('云端拉取数据失败,请稍后再试:', err)
                formReset()
              }
            })
          }
        }
      })
    },

云函数:

const cloud = require('wx-server-sdk')
cloud.init()
const db = cloud.database()
// 云函数入口函数
exports.main = async(event, context) => {
 try{var usr=await db.collection('Users').where({
       UserName: event.a
 }).get() 
 }
     catch(err){
       console.log('调用不成功')
     }
  console.log('调用成功!',usr)
return usr

2 回复

感谢!我只设了一个环境,两处的环境ID已经一致,还是不行啊!我在npm install --save wx-server-sdk@latest时出现了警告,不会和这个有关吧?

你为什么不先确认一下 success回调的值正不正确,再加上fail回调,一起看看呢

回到顶部