先说结论:这类问题大概率与异步执行有关。
问题表现:
本地调试结果符合预期,上传代码关闭本地执行后结果异常
问题定位:
在我的个案中,我是需要用到异步查询云数据库,并根据结果查询结果返回的,一开始我的代码如下
const cloud = require('wx-server-sdk')
cloud.init({
// API 调用都保持和云函数当前所在环境一致
env: cloud.DYNAMIC_CURRENT_ENV
})
const db = cloud.database();
// 云函数入口函数
exports.main = async (event, context) => {
var canMatch=false;
const wxContext = cloud.getWXContext()
db.collection('relation').where({
shareid: event.shareid
}).get().then(
res=>{
console.log('res is ',res)
if(res.data.length==0){
console.log('check point 2')
db.collection('relation').where({
shareid: event.openid
}).get().then(
res => {
if (res.data.length == 0) {
console.log('check point 3')