Javascript Async/Await正在等待另一个吗?

Javascript Async/Await正在等待另一个吗?,javascript,async-await,Javascript,Async Await,我有异步函数: 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会在每个等待行上延迟,等待承诺结果和conso

我有异步函数:

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(“在上面等待之前执行此操作”)从不在上面两个
等待之前运行?
是否可能最后一次等待的返回速度比第一次快,我得到以下信息:

返回{未定义,提要}

那么,异步调用后的代码是否不阻塞

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

假设
findOne
实际返回承诺:

这是否意味着JS在每个等待线路上延迟,等待承诺结果

和console.log(“在上面等待之前执行此操作”);从来没有在两个人之前跑过,等在上面吗

是否可能最后一次等待的返回速度比第一次快,我得到以下信息:


否。
Feeds.findOne
甚至在用户返回的承诺解决之前都不会被调用。

是的,它先等待第一个,然后等待第二个,然后才登录到控制台。那么,如果它阻止下一行执行,那么使用async的原因是什么呢?如果我需要调用两个独立的wait函数?我可以在哪里通过关于async/wait的测试?当包含wait语句的异步函数等待时,它将进入睡眠状态,并在该函数之外运行代码。