例如,爲什麼下面的函數需要「async」..沒有使用足夠的編譯器來解析代碼而沒有歧義?爲什麼JavaScript函數需要關鍵字「異步」? 「await」關鍵字不夠嗎?
# Why do we need async here
async function foo() {
var user = await getUser(user_id);
console.log(user);
}
它是出於向下兼容性的原因嗎? (我想不出任何使用標準Javascript中的await鍵盤的代碼..)?
主要是爲了清楚起見,說清楚這個函數使用了新的async關鍵字嗎? 感謝
我只能想象它使解析更容易.... –
在這個例子中,它沒有多大意義。你正在異步運行一些東西,然後告訴它等待getUser的結果。在更大的功能範圍內它可能更有意義。 – Neil
您可能會發現這個博客很有用:https://www.twilio.com/blog/2015/10/asyncawait-the-hero-javascript-deserved.html我同意這可能是一個解析問題。在博客中:「當一個函數被聲明爲async時,它就能夠執行到調用代碼,而它正在等待一個承諾被解決。」 – scrappedcola