[英]Null return value from a nested async function
这个 function 如何返回 null? 是因为变量 scope 还是函数的执行时间?
async function getBook() {
var book;
await libray.findONe({ cat: 1 }, {}, async (err, res) => {
await section.findONe({ secId: res.secI }, {}, (error, result) => {
book = result;
});
});
book = result;
}
return book;
}
尝试这个
async function getBook() {
const res = await libray.findOne({ cat: 1 });
const book = await section.findOne({ secId: res.secI });
return book;
}
我认为问题在于您在异步 function 完成之前从 function 返回。 所以解决这个问题的一种方便方法是从异步 function 中进行回调 function。
对不起,我不是一个 js 人,所以我实际上不能发布代码,但我认为你明白了..
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.