最近復習promise 對象的時候,發現promise鏈式編程時then返回值不太懂的問題,查閱資料后,總結如下:
then()的返回值:
1.回調函數return 任意數值 或者 不返回數據(返回ndefined) 時,then()方法返回的是一個狀態為Fulfilled狀態的promise對象
2.回調函數return promise* 返回一個promise*對象時, then()方法返回的是這個promise對象 (狀態由這個promise*決定 可能是Fulfilled 也可能是Rejected)
3.回調函數throw error 拋出錯誤, then()方法返回的是一個狀態為Rejected的promise對象
4.then()方法沒有執行里面的任何一個回調函數時,返回當前這個promise對象
所以,這個時候就能明白 then() , catch()的鏈式編程了
