JavaScript 中 Deferreds、Promise 和 Future 的差異
在 JavaScript 中,deferreds、promise 和 futures 通常用於處理非同步操作。每個概念都有其獨特的一組特徵:
Deferreds
在正式文件中從未明確定義,deferreds 通常用作Promise 解析的仲裁者,實現解決和拒絕功能。它們也可以作為 Promise 實現,從而能夠使用 then 函數。
Promises
Promise 代表了此上下文中最全面的概念。它們封裝非同步操作的結果,公開接受另一個目標函數的 then 函數。 Promises/A 規範為 Promises 的行為設定了標準,解決了早期 Promises/A 規範中的歧義。
Futures
目前討論中較不常用的術語,futures 是指抽象同步性和錯誤處理而不提供 then 功能的代理對象。例如,FutureJS 一般使用該術語來實現此類目的。
主要差異
總之,雖然這些術語有時可以互換使用,但它們各自具有不同的特徵。 Deferreds 是 Promise 解析背後的驅動力,Promise 代表了非同步操作的整體策略,而 futures 是一個不太常用的抽象同步性術語。
以上是JavaScript 中的 Deferreds、Promise 和 Future 有什麼區別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!