測試 ES6 Promise 物件的鏈式傳值

zhaiduting發表於2019-03-13
Promise.resolve(1).then(
  x=>{
   console.log('then1 get '+x)
   return 2;
  }
)
.catch()
.then().then()
.then(x=>console.log('then4 get '+x))

第1個then的回撥函式有返回值,後跟一個啥也不幹的catch(),再跟兩個啥也不幹的then(),最後再跟第4個then()
第4個then有輸出,可見catch及其後的兩個then並非真的啥也不幹,至少能把第一個then的結果給傳遞過來了。

> "then1 get 1"
> "then4 get 2"

如果刪除第4行的return 2,導致第一個then沒有返回值,得到的結果會是下面這樣

> "then1 get 1"
> "then4 get undefined"

相關文章