【发布时间】:2020-07-01 05:11:53
【问题描述】:
首先我是这样写的:
(async function() {
const value = await Promise.resolve({a: 3}).a
console.log(value)
})().catch(console.error);
但我很快得出结论,这是行不通的,因为我们将等待 a 返回的 a 属性,这是未定义的。
所以我尝试将我的 await 调用包含在括号中:
(async function() {
const value = await(Promise.resolve({a: 3})).a
console.log(value)
})().catch(console.error);
这也不起作用。 (它记录undefined)
因此,提取a 属性的唯一方法似乎是执行以下操作:
(async function() {
const resolvedValue = await Promise.resolve({a: 3});
let aProp = resolvedValue['a'];
})().catch(console.error);
,这增加了不必要的代码行。
我这样喂食有点违背异步/等待的目的。这是正确的还是我遗漏了什么?
【问题讨论】: