我尝试通过云函数访问数据库获取信息,结果发现返回get().data时总是获取失败
修改成直接返回get()就可以,但这显然不是我想要的结果,有什么办法能解决么
// 云函数入口文件 const cloud = require( 'wx-server-sdk' ) cloud.init() // 云函数入口函数 exports.main = async (event, context) => { const wxContext = cloud.getWXContext() const db = cloud.database(); const list = db.collection(event.listName); let count = await list.count(); count = count.total; let data = []; for (let i = 0; i < count; i += 100) { data = data.concat(await list.skip(i).get().data); } return data; } |
使用get().data返回null
// 云函数入口文件 const cloud = require( 'wx-server-sdk' ) cloud.init() // 云函数入口函数 exports.main = async (event, context) => { const wxContext = cloud.getWXContext() const db = cloud.database(); const list = db.collection(event.listName); let count = await list.count(); count = count.total; let data = []; for (let i = 0; i < count; i += 100) { data = data.concat(await list.skip(i).get()); } return data; } |
使用get()获取成功
JS的语法问题,把
await list.skip(i).get().data
改为
(await list.skip(i).get()).data
官方真快,正解。