gpt4 book ai didi

javascript - 访问等待值内联 (JS)?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:54:30 25 4
gpt4 key购买 nike

首先我写了这样的东西:

(async function() {
const value = await Promise.resolve({a: 3}).a
console.log(value)
})().catch(console.error);

但我很快得出结论,这是行不通的,因为我们将等待 Promise.resolve 返回的 a 属性,它是未定义的.

所以我尝试将我的 await 调用包装到括号中:

(async function() {
const value = await(Promise.resolve({a: 3})).a
console.log(value)
})().catch(console.error);

这也没有用。 (它记录 undefined)

所以似乎提取 a Prop 的唯一方法是做这样的事情:

(async function() {
const resolvedValue = await Promise.resolve({a: 3});
let aProp = resolvedValue['a'];
})().catch(console.error);

,它添加了一行不必要的代码。

我这样喂有点违背了 async/await 的目的。这是正确的还是我遗漏了什么?

最佳答案

您需要将 await 关键字和括号中的 promise 括起来,如下所示:

const value = (await Promise.resolve({a: 3})).a;

这样您就可以等待 promise ,然后访问已解析值的 a 属性。

await(Promise.resolve({a: 3})).a 不起作用,因为 await 不是函数,而是运算符。

关于javascript - 访问等待值内联 (JS)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40893232/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com