bug*_*syb 0 javascript asynchronous async-await es6-promise
当我运行下面的代码时,出现以下错误:
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();Run Code Online (Sandbox Code Playgroud)
问题出在函数上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();Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
999 次 |
| 最近记录: |