我在Windows上使用最新版本的nodejs并收到此错误:
if(await fnA()) {
^^^
SyntaxError: Unexpected identifier
这是我的代码:
if(await fnA()) {
console.log("1");
} else {
console.log("error at 1: ");
}
async function fnA() {
return new Promise(function (resolve, reject) {
if(await fnB()) {
console.log("A");
resolve(true);
} else {
console.log("error at A: ");
reject();
}
});
}
function fnB() {
return new Promise(function (resolve, reject) {
console.log("fnB");
setTimeout(function() {
console.log("fnB after delay");
resolve(true);
}, 3000);
});
}
我尝试将await
移到if条件之外,但仍然遇到同样的错误。
答案 0 :(得分:3)
您不能在await
功能之外使用async
。
你得到的错误就是因为这个。因此,将if
包裹在async
函数或其他内容中。