跳轉到

A little about Promise

使用時機

當前端同時有數件非同步的工作,且每一件都依賴前一件的結果時,如果使用 CallBack 往往導致結構複雜且不易維護 (也就是所謂的 Callback Hell):

    asyncA(function(dataA) {
        asyncB(dataA, function(dataB) {
            asyncC(dataB, function() {
                ...
            })
        })
    });

因此,我們需要一個機制來簡化上述的結構,並提供一個統一處理錯誤的方法。

簡介

一個 Promise 物件有三種狀態 pendingfullfilledrejected:首先,物件為 pending 狀態,根據執行情形可能會轉變為 fullfilledrejected 兩種狀態;當物件轉換為 fullfilledrejected 狀態後,這個 Promise 必定不會轉變為其他狀態,且有個不能更動的狀態值。

觀念釐清

Promise vs asyncawait

Promise vs Ajax


參考資料