首页 小程序 小程序云开发请求云函数成功,但result为空/null的处理,四种问题处理方法汇总

小程序云开发请求云函数成功,但result为空/null的处理,四种问题处理方法汇总

小程序云开发请求云函数成功,但result为空的处理方法

返回数据为空大家在测试微信小程序的时候,很多情况会遇到返回为空的状态

1. 第一种问题 方法 Promise
云函数返回的数据使用方法会返回一个 Promise,所以需要写Promise格式才能获取

wx.cloud.callFunction({	    name: 'delQuesById',    // 需调用的云函数名,注意名称要相同	    // 传给云函数的参数 也就是上边的event对象	    data: {       	      category: "6336302",	    },	    // 成功回调	    success: res => {        console.log(res);        console.log(res.result);	    },	    fail: err => {	      console.error('[云函数] [delQuesById] 调用失败', err)	    }	  })
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
【重要】上面需要注意的地方:参数如果是字符串,一定要用双引号,要不然也会返回null
  • 1
  • 2
  • 3

2.node.js的版本不同
node.js的版本不同导致返回数据为空 低版本的node.js可以正常使用,高版本的node.js 返回数据为空 入口函数新增async 字段 exports.main = async (event, context) => 可以解决

// 云函数入口文件const cloud = require('wx-server-sdk')cloud.init()const db = cloud.database()const _ = db.command// 云函数入口函数exports.main = async (event, context) => {  const wxContext = cloud.getWXContext()  try {    return await db.collection('questions')    .where({      category: wxContext.category    }).remove()  } catch(e) {    console.error(e)  }}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

3.权限问题
不管数据是不是你自己创建的,把设置改成所有用户可读写就可以读取到相关的信息
权限设置4.云函数没有部署,或者没有部署成功
不管你是自己写的云函数,还是copy别人的文件,在你上面的云函数都设置好了之后,选中你这个云函数,右键上传并并部署一下,让这个云函数生效。就可以获取到云函数和数据库信息
在这里插入图片描述

特别声明:本站部分内容收集于互联网是出于更直观传递信息的目的。该内容版权归原作者所有,并不代表本站赞同其观点和对其真实性负责。如该内容涉及任何第三方合法权利,请及时与824310991@qq.com联系,我们会及时反馈并处理完毕。