所以,NodeJS新手在这里 - 请温柔。 ;)
以下代码在现代浏览器中运行良好:
async function testAsync(){
return await new Promise(function(resolve){
setTimeout(function(){
resolve('Hello World!');
}, 1000)
})
}
const test = await testAsync();
console.log(test);
它等待1000毫秒直到打印" Hello World!"正如预期的那样到控制台。
使用我得到的相同代码运行节点10.3.0:
SyntaxError: await is only valid in async function
我错过了什么?
谢谢!
答案 0 :(得分:2)
当您尝试使用await
时,您不能在顶层({尚})await testAsync();
。相反,请使用.then
:
testAsync()
.then(test => console.log(test));
此外,有一个async
函数立即返回await
版本的Promise并不重要;相反,只需返回Promise:
function testAsync(){
return new Promise(function(resolve){
setTimeout(function(){
resolve('Hello World!');
}, 1000)
});
}
testAsync()
.then(test => console.log(test));