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