JavaScript Promise 的術語
理解 JavaScript Promise 的術語可能具有挑戰性。根據 Promises/A 規範和 ES6,promise 有三種不同的狀態:
已解決、已解決和已實現
術語「已解決」是指已實現或已拒絕的統稱,意味著承諾不再懸而未決。然而,「解決」是一個複雜的概念。
它有時可以與「實現」互換使用,但更精確的解釋是「解決」是將承諾的命運設定為實現或拒絕的行為。 Promise 的「解析」表示它已經退出待處理狀態。
遞歸與解析
Promise 解析過程是遞歸的。解決具有基本值的 Promise 會實現它,而用另一個 Promise 解決它會採用該 Promise 的狀態。這可能會導致 Promise 解決但其最終狀態尚未確定的情況。在這種情況下,Promise 被稱為“已解決”,因為它的命運不再含糊,但其實際狀態可能仍處於待定狀態。
延遲
延遲結果涉及為結果提供非同步承諾,而不是直接回傳結果。此過程也傳回延遲拒絕,而不是同步拋出。
在某些函式庫中,例如 Q,術語「defer」指的是建構 Deferred 物件的方法。需要注意的是,變數名稱可能並不總是準確反映其預期含義,而「defer」也可能是「deferredObject」的縮寫。
以上是JavaScript Promise 有哪些不同的狀態,它們與「已解決」、「已解決」和「延遲」等術語有何關係?的詳細內容。更多資訊請關注PHP中文網其他相關文章!