Javascript Can';不能让异步函数在简单的NodeJS脚本中工作
所以,Nodej是这里的新手-请温柔一点 以下代码在现代浏览器中运行良好:Javascript Can';不能让异步函数在简单的NodeJS脚本中工作,javascript,node.js,async-await,Javascript,Node.js,Async Await,所以,Nodej是这里的新手-请温柔一点 以下代码在现代浏览器中运行良好: async function testAsync(){ return await new Promise(function(resolve){ setTimeout(function(){ resolve('Hello World!'); }, 1000) }) } const test = await testAsync(); console.
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!”打印到控制台
使用我得到的相同代码运行Node 10.3.0:
SyntaxError: await is only valid in async function
我错过了什么
谢谢 您不能像使用
await testAsync()一样在顶层等待wait
代码>。相反,请使用。然后使用:
testAsync()
.then(test => console.log(test));
另外,使用async
函数立即返回wait
ed承诺也没有多大意义;相反,只要回报承诺:
函数testAsync(){
返回新承诺(函数(解析){
setTimeout(函数(){
决心(“你好,世界!”);
}, 1000)
});
}
testAsync()
.then(test=>console.log(test))代码>将调用包装在自调用异步函数中void async function(){const test=wait testAsync();console.log(test);}()代码>(或使用返回的承诺)