首頁 > web前端 > js教程 > JavaScript 中的 Promise 物件如何保存原始值?

JavaScript 中的 Promise 物件如何保存原始值?

Mary-Kate Olsen
發布: 2024-12-25 09:57:14
原創
791 人瀏覽過

How Do Promises, Objects in JavaScript, Hold Primitive Values?

存取 Promise 的值

Promise 通常用於 JavaScript 中的非同步操作。與 Promise 互動的關鍵方法之一是 .then() 方法。此方法允許我們連結多個 Promise 並在後續 Promise 中存取前一個 Promise 的值。

考慮以下 Angular 範例:

promiseB = promiseA.then(function(result) {
  return result + 1;
});
登入後複製

此範例將 PromiseB 定義為一個新 Promise在 PromiseA 解決後立即解決。根據 Angular 文檔,「它的值將是 PromiseA 加 1 的結果。」

問題出現了:一個 Object 類型的 Promise 物件如何保存像數字這樣的原始值?

答案在於 .then() 方法的語意。提供給 .then() 的成功回呼函數傳回一個新值,該值成為新 Promise 的值。在這種情況下,成功回呼函數傳回 result 1,這會增加 result 的值並將其作為 PromiseB 的值傳回。

要存取PromiseB 的值,我們可以連結另一個.then() 方法並提供一個成功回呼函數:

promiseB.then(function(result) {
  // Use the result of promiseB here
});
登入後複製

在這個回調中,我們將存取結果的值,它是前一個值的增量值

ES7 (2016) 引入了async/await語法,提供了另一種處理 Promise 的方法。使用await,我們可以直接解開promise的值,從而無需連結多個.then()方法。例如:

async function doSomething() {
  let result = await functionThatReturnsPromiseA();
  return result + 1;
}
登入後複製

在此範例中,await 關鍵字用於非同步函數。 wait 關鍵字暫停函數的執行,直到 functionThatReturnsPromiseA() 解析。一旦 Promise 解決,Promise 的值就會被指派給結果變量,並且函數會繼續執行。

以上是JavaScript 中的 Promise 物件如何保存原始值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板