你这。。。基本语法不明白。Promise
知道是什么吧?那么async
函数也知道吧?uniCloud云函数是支持async的。这里get方法返回的是一个Promise,这点知道吧?你这里去遍历一个Promise干嘛呢!当然会报错了,Promise是不可遍历的。异步云函数本来就是返回一个Promise的,即使你写成 return "hello world",它也转化为一个Promise再返回啊。所以你这里直接返回data当然可以呐!
exports.main = async (event, context) => {
// 也可以改成 return Promise.resolve("hello world")哦
return "hello world"
};
你可以改成如下:
const dbJQL = uniCloud.databaseForJQL({
clientInfo: this.getClientInfo()
})
dbJQL.collection("notice").get().then(data => {
data.forEach(item=>{
// 干某些不可描述的事情
.....
})
})
也可以在此方法前加async 再加上await, 如下 :
async hello (){
const data = await dbJQL.collection("notice").get()
data.forEach( item => {
.........
})
}
idcims (作者)
明白……感谢哈
2022-09-26 13:40