理解鍊式 Promise 中未定義的值
在 JavaScript 中,Promise 用於非同步操作。它們提供了一種處理計算結果和處理成功和失敗等場景的方法。然而,有時我們在連結 Promises 時會遇到意外的 undefined 值。
根本原因:無回傳值的連結
Promises 是使用 .then() 方法連結的。當 Promise 被解決或拒絕時,.then() 方法傳回一個新的 Promise 物件。但是,如果 .then() 方法沒有明確傳回任何值或 Promise,則新的 Promise 物件將被解析,預設值為未定義。
範例:
在此範例中,第一個 .then() 方法不傳回任何值。結果,第二個 .then() 方法接收 undefined 作為其參數,然後將其列印到控制台。
解決方案:傳回值或Promise
為了避免鍊式Promise 中出現未定義的值,必須從.then() 方法明確傳回值或傳回值的Promise。
範例:
透過回傳結果,第二個 .then() 方法接收到實際的結果值,而不是未定義的。
以上是為什麼 Promise 鏈沒有回傳值會導致未定義的值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!