从嵌套异步函数返回空值



这个函数如何返回null?是因为变量范围还是函数的执行时间?

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;
}

我认为问题是你在异步函数完成之前从函数返回。因此,解决这个问题的一个方便的方法是从async函数中创建一个回调函数。

对不起,我不是一个js的家伙,所以我不能实际上张贴代码,但我认为你得到的想法。

最新更新