爲什麼使用await
需要將其外部功能聲明爲async
?JS異步/等待 - 爲什麼等待需要異步?
例如,爲什麼這個mongoose語句需要它返回promise的函數?
async function middleware(hostname, done) {
try {
let team = await Teams.findOne({ hostnames: hostname.toLowerCase() }).exec();
done(null, team);
} catch (err) { done(err); }
}
我看到運行時/轉譯器解析團隊承諾它的價值和異步信號它「拋出」拒絕承諾。
但嘗試/抓住「捕捉」那些被拒絕的承諾,那麼爲什麼異步和等待如此緊密耦合?
我不明白你的意思是「*但是嘗試/趕上」捕獲「那些被拒絕的承諾*」。這與'async'關鍵字有什麼關係? – Bergi
[爲什麼需要使用async關鍵字](https://stackoverflow.com/a/31485350/1048572)可能存在重複? – Bergi
「*爲什麼這個mongoose語句需要它返回promise的函數?*」 - 如何能等待貓鼬承諾的異步結果呢? – Bergi