https://developers.weixin.qq.com/miniprogram/dev/wxcloudservice/wxcloud/guide/database/read.html
在云服务数据库中,使用Promise方式查询数据,发现查询不到,使用普通回调方式查询数据库能查询得到。
并且在云函数中,console.log或者console.err没有打印,云函数中的这些打印会在哪里显示?
// 创建集合云函数入口函数
exports.main = async (event, context) => {
const operate_type = event.operate_type;
if (operate_type === "query")
{
const union_id = event.union_id; // 根据用户UnionID查询数据库中的用户信息
let hasData = false;
let userinfo = [];
const collection = await db.collection('xiyu_user')
collection.where({
// UnionID: 'oScWS7eBl9IYYEcH8zbuPdxC5kII'
UnionID: union_id
})
.limit(10)
.get()
.then( res => {
if (res.data.length > 0){
hasData = true;
userinfo = res.data;
}else{
hasData = false;
userinfo = res.data;
}
})
.catch (err => {
// 这里catch到的是该collection已经存在,从业务逻辑上来说是运行成功的,所以catch返回success给前端,避免工具在前端抛出异常
console.error("query user info error: ", err)
})
return {
success: hasData,
data: userinfo
};
}
};
又是await又是then的。。
你这加了then,return就写到then里去呀,或者去掉then直接用外面的await获取结果就行了
不能在then里return,你直接把then里的逻辑移到外面从collection里取数据就行了,本身这里你就用了await