Node.js (ES7) 中的 Fire and Forget Promise
Node.js 中的非同步程式設計通常涉及使用 Promise程式設計。 Promise 表示非同步操作的最終完成或失敗。在某些情況下,您可能想要啟動非同步操作而不等待其完成。這被稱為“解僱並忘記”承諾。
考慮以下程式碼片段:
在非同步函數中,您可以在不使用await 的情況下執行第一行。這會創建一個 Promise 並立即丟棄它。
這是可以接受的嗎?
是的,可以用這種方式執行非同步任務。透過觸發並忘記 Promise,兩個非同步函數(Promise 建立和函數 someOtherAsyncFunction)將同時執行。
處理錯誤
這種方法的一個潛在問題是如果 delAsync 創建的 Promise 被拒絕,您將不會收到通知。這可能會導致未處理的拒絕,最終使您的進程崩潰。
忽略結果的替代方案
如果您不關心非同步操作的結果,有幾種處理方法:
Void運算子: 使用void運算子丟棄結果:
捕獲並忽略: 使用帶有空的catch 方法忽略異常handler:
並行執行:如果您仍想等待其他非同步操作但不關心特定操作的結果,請使用Promise.all 附帶一個array:
結論
雖然在Node.js 中可能會觸發並忘記Promise,但請務必注意忽略拒絕相關的潛在風險。在使用此技術之前,請仔細考慮您是否真的不關心非同步操作的結果。此外,還有其他方法可用於處理不感興趣的結果。
以上是Node.js 中解僱和忘記 Promise 可以接受嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!