异步/等待:初始化前无法访问变量(javascript)
Async / Await: Cannot access variable before initialization (javscript)
当我 运行 下面的代码时,我得到以下错误:
ReferenceError: Cannot access 'bar' before initialization
.
有人可以帮我理解为什么会这样吗?据我所知,foo
函数应该等到承诺解决(因为我在使用 await
之前移动到 console.log(bar)
行。我在这里错过了什么?
function qux() {
return Math.random();
}
async function bar() {
let result = await qux();
return result > 0.5;
}
async function foo() {
let bar = await bar();
console.log(bar);
}
foo();
问题出在函数foo()
bar
已经是一个函数,您试图在调用它时分配给它,这可能不是您想要做的。
更改其中之一的名称。
function qux() {
return Math.random();
}
async function bar() {
let result = await qux();
return result > 0.5;
}
async function foo() {
let x = await bar();
console.log(x);
}
foo();
当我 运行 下面的代码时,我得到以下错误:
ReferenceError: Cannot access 'bar' before initialization
.
有人可以帮我理解为什么会这样吗?据我所知,foo
函数应该等到承诺解决(因为我在使用 await
之前移动到 console.log(bar)
行。我在这里错过了什么?
function qux() {
return Math.random();
}
async function bar() {
let result = await qux();
return result > 0.5;
}
async function foo() {
let bar = await bar();
console.log(bar);
}
foo();
问题出在函数foo()
bar
已经是一个函数,您试图在调用它时分配给它,这可能不是您想要做的。
更改其中之一的名称。
function qux() {
return Math.random();
}
async function bar() {
let result = await qux();
return result > 0.5;
}
async function foo() {
let x = await bar();
console.log(x);
}
foo();