目前,我有這樣的代碼:如何創建一個命名的異步箭頭函數?
async function getConnection(){
// logic here...
}
,使其與我的代碼庫的其餘部分保持一致,我想把它變成一個箭頭的功能。我試過async getConnection() => { ... }
但這似乎沒有工作。什麼是正確的方法來做到這一點?
目前,我有這樣的代碼:如何創建一個命名的異步箭頭函數?
async function getConnection(){
// logic here...
}
,使其與我的代碼庫的其餘部分保持一致,我想把它變成一個箭頭的功能。我試過async getConnection() => { ... }
但這似乎沒有工作。什麼是正確的方法來做到這一點?
箭函數沒有名字,但你可以將它們分配到這樣一個變量:
const normalFunc =() => { ... };
const asyncFunc = async() => { ... };
不過請注意,即箭頭功能都沒有定期的功能只是短的符號,因爲有有一些細微差別需要注意(see this article for details)。但是,如果您瞭解這些差異並且不影響您的代碼,則應該沒問題。
箭函數不能有一個名字
const getConnection = async() => {}
但簡單替換的所有功能,以箭頭的功能簡直是愚蠢的和可能是容易出錯。 Learn all differences之前這樣做。
箭頭函數不能用名稱聲明,但可以分配。
嘗試:
var getConnection = async() => {
return 'It works';
}
getConnection().then(message => console.log(message))
希望這有助於
主要一個是異步箭頭功能不超過從建築,'this'指'Window'攜帶上下文。 – Crowes
@Crowes我認爲更清楚一點,'this'將引用箭頭函數聲明的任何函數或對象的'this'。我假設const將在全局範圍內聲明,因此您是正確的 –
@BrettReinhard看看這個:https://stackoverflow.com/questions/22939130/when-should-i-use-arrow-functions-in-ecmascript-6?answertab=votes#tab-top – Crowes