小程序云开发请求云函数成功,但result为空/null的处理,四种问题处理方法汇总
所谓伊人จุ๊บ 时间:2022-09-28
小程序云开发请求云函数成功,但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联系,我们会及时反馈并处理完毕。