异步/等待正在等待另一个?

我有异步函数:


const getUser = async (query) => {

  const user = await Users.findOne(query);

  const feed = await Feeds.findOne({ user: user._id });

  console.log("Do this befor await above");


  return { user, feed };

};

这是否意味着JS在每个等待行上延迟,等待承诺结果并且从未在上面的两个行之前运行?有没有可能最后一个等待返回得比第一个更快,我得到这个:console.log("Do this befor await above");await


return {undefined, feed}?


那么,异步调用后的代码没有阻塞吗?


getUser();

console.log("Code below is not blocking...");


GCT1015
浏览 70回答 1
1回答

慕姐4208626

假设实际返回一个承诺:findOne这是否意味着JS在每个等待行上延迟,等待承诺结果是的和控制台.log(“Do this befor await above”);从来没有跑过前面两个等待上面?是的有没有可能最后一个等待返回得比第一个更快,我得到这个:不。 在解析返回的承诺之前,甚至不会调用。Feeds.findOneUsers.findOne
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript