promesas 在現代 JavaScript 中無所不在,允許非同步操作。雖然它們的使用有詳細記錄,但某些方面可能會令人困惑。一個常見的問題是如何存取 Promise 的值,尤其是當 Promise 透過 .then() 方法連結時。
在提供的範例中,promiseB 是從 PromiseA 建立的。文件指出,promiseA 解析後,promiseB 將保留等於結果 1 的值。然而,目前還不清楚如何存取這個值。
存取Promise 值
理解這一點的關鍵是.then() 方法傳回一個新的Promise在原始Promise(在本例中為PromiseA)解析後解析。這個新 Promise 的值由成功回呼函數傳回的值決定。
在提供的範例中,成功回呼傳回結果 1,這表示 PromiseB 將使用該值進行解析。要存取此值,您可以使用promiseB.then(function(result) {...}),就像訪問promiseA.
非同步/等待語法
ECMAScript 2016 (ES7) 引進了async/await 語法,它提供了.then()方法的替代方法來處理 Promise。使用 async/await,你可以透過使用await關鍵字直接存取promise的值。
例如,不寫:
promiseB.then(function(result) { // Use the result });
你可以寫:
async function doSomething() { const result = await promiseB; // Use the result }
但是請注意,async/await 只能在 async 函數內使用。
以上是如何在 JavaScript 中存取鍊式 Promise 的解析值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!