访问 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中文网其他相关文章!