gpt4 book ai didi

javascript - 无法让异步函数在简单的 NodeJS 脚本中工作

转载 作者:太空宇宙 更新时间:2023-11-04 03:02:41 24 4
gpt4 key购买 nike

所以,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!”正如预期的那样,到控制台。

使用我得到的相同代码运行 Node 10.3.0:

SyntaxError: await is only valid in async function

我错过了什么?

谢谢!

最佳答案

您还不能像尝试使用 await testAsync(); 那样在顶层进行 await 操作。相反,请使用 .then:

testAsync()
.then(test => console.log(test));

此外,拥有立即返回 awaited Promise 的 async 函数也没有多大意义;相反,只需返回 Promise:

function testAsync(){
return new Promise(function(resolve){
setTimeout(function(){
resolve('Hello World!');
}, 1000)
});
}
testAsync()
.then(test => console.log(test));

关于javascript - 无法让异步函数在简单的 NodeJS 脚本中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50599836/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com