云函数非常不稳定,按照官方例子写,都不行
出现这个问题,就是异步的问题,没有执行完你写的函数,人家已经返回了,所以是Null
改了好几次,也不知道咋的,就能用了,大家评评理,为啥代码1不行,代码2就行了
代码1
exports.main = async(event,context)=>{
await db.collection('cloudOrder').aggregate().lookup({
from:'cloudUserInfo',
localField:'_openid',
foreignField:'_openid',
as:'userInfo'
}).sort({'publicTime':1}).end().then(res=>{
return {status:"success",msg:res}
})
}
代码2
exports.main = async(event,context)=>{
return new Promise((resolve,reject)=>{
db.collection('cloudOrder').aggregate().lookup({
from:'cloudUserInfo',
localField:'_openid',
foreignField:'_openid',
as:'userInfo'
}).sort({'publicTime':1}).end().then(res=>{
resolve({status:"success",msg:res})
})
}
}