async/await:无法直接访问函数的数组值

Kin*_*ias 3 javascript async-await

这有效:

var getArray = function(id) {
  return [1, 2];
}

console.log(getArray()[0]); // returns 1
Run Code Online (Sandbox Code Playgroud)

这不起作用:

var getArray = async function(id) {
  return [1, 2];
}

console.log(await getArray()[0]); // syntax error
Run Code Online (Sandbox Code Playgroud)

为什么?如何更改async/await语法使其有效?

Kin*_*ias 5

我找到了解决方案,非常简单。只需用括号将等待部分括起来即可。

var first = (await getArray())[0];
Run Code Online (Sandbox Code Playgroud)