[英]Async/Await is awaiting another?
我有異步 function:
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在每條await線上都有延遲,等待promise結果和console.log("Do this befor await above");
從來沒有在上面兩個await
之前運行? 是否有可能最后一個等待比第一個更快返回,我得到了這個:
return {undefined, feed}
?
那么,異步調用后的代碼不會阻塞嗎?
getUser();
console.log("Code below is not blocking...");
假設findOne
實際上返回 promise:
是不是意味着JS在每條await線上都有延遲,等待promise結果
是的
和 console.log("在上面的等待之前執行此操作"); 從來沒有在上面兩個 await 之前運行?
是的
是否有可能最后一個等待比第一個更快返回,我得到了這個:
不,直到Feeds.findOne
返回的Users.findOne
解決后,才會調用 Feeds.findOne。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.