理解Promise的then

Promise,ES6中定義的規範,如今都9102年了,你們基本都會用Promise,但對於Promise中then,有沒有精確地認知呢,請往下看。promise

官方文檔是這樣定義的:函數

一個 promise 必須提供一個 then 方法以訪問其當前值、終值和據因。文檔

promise 的 then 方法接受兩個參數:get

promise.then(onFulfilled, onRejected)回調函數

Todo:這裏只介紹onFulfilled。方法

onFulfilled 和 onRejected 都是可選參數。margin

若是 onFulfilled 不是函數,其必須被忽略co

若是 onFulfilled 是函數:回調

當 promise 執行結束後其必須被調用,其第一個參數爲 promise 的終值ps

在 promise 執行結束前其不可被調用

其調用次數不可超過一次

用通(ren)俗(hua)的話來講:

then方法提供一個供自定義的回調函數,若傳入非函數,則會忽略當前then方法。

回調函數中會把上一個then中返回的值當作參數值供當前then方法調用。

then方法執行完畢後須要返回一個新的值給下一個then調用(沒有返回值默認使用undefined)。

每一個then只可能使用前一個then的返回值。

 

Promise規範:https://promisesaplus.com/

相關文章
相關標籤/搜索