您可能會認為這兩種方法是相同的。但 return 和 return wait 之間有一個至關重要的區別。
當我們處理promise時,例如資料庫查詢,我們通常使用await。例如:
async function getUserById(userId) { const user = await userRepository.findById(userId); return user; }
但是,在這種情況下,並不嚴格需要使用await。我們可以這樣寫:
function getUserById(userId) { return userRepository.findById(userId); }
兩個選項都可以正常運作。
當我們有 try/catch 區塊時,行為會有所不同,如果您沒有意識到這一點,可能會導致意外錯誤。
function getUserById(userId) { try { return userRepository.findById(userId); } catch (error) { console.error(error.message); } }
如果findById發生錯誤,它不會被捕獲,這很可能會成為一個問題。這就是我們需要使用 return wait 的地方。
async function getUserById(userId) { try { return await userRepository.findById(userId); } catch (error) { console.error(error.message); } }
現在,我們安全了,任何錯誤都會落入 catch 區塊中。
綜上所述,如果我們需要在catch區塊中處理和處理錯誤,我們必須使用returnawait來確保應用程式正確運作。
以上是JavaScript 中 return 和 return wait 的差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!