使用Async/Await 和.then/.catch
Async/await 和.then/.catch 都是JavaScript 中的錯誤處理機制。雖然 async/await 更加簡潔和現代,但 .then/.catch 仍然是一個可行的選擇。將它們一起使用可以帶來任何好處或缺點嗎?
您提供的程式碼片段展示了兩種機制結合使用的場景。但是,答案建議將 try/catch 替換為 async/await 和 .catch 的組合。這簡化了程式碼,並將其保持在 async 函數建立的同步範圍內。
這是一個範例:
<code class="javascript">async function asyncTask() { throw new Error('network'); } async function main() { const result = await asyncTask().catch(error => console.error(error)); console.log('result:', result); } main();</code>
在此範例中,asyncTask 拋出一個錯誤,該錯誤由非同步方法 main 中的 .catch 區塊。錯誤將記錄到控制台,同時繼續執行下一行,其中結果變數設定為未定義,因為函數沒有傳回明確值。
總之,同時使用async/await 和. then/.catch 在一起可能不會造成任何損害,通常建議使用async/await 和.catch 的更簡潔和現代的組合來進行異步函數中的錯誤處理。這種方法確保了程式碼緊湊性並保留了 async 關鍵字建立的同步範圍。
以上是Async/Await 和 .then/.catch 可以一起用於 JavaScript 中的錯誤處理嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!