我的代码如下:
async function run() {
await sleep(1);
fs.readFile('list.txt', 'utf8', function (err, text) {
console.log(text);
await sleep(5);
});
}
run();
"
await sleep(1)
"是可以的,但"await sleep(5)
"会导致以下错误:这是因为SyntaxError: async is only valid in async function
fs.readFile
造成的吗?在这种情况下,如何使用await
?以上内容是为了测试而简化的示例。在我的实际用法中,我需要将await sleep
放在一个嵌套了几个异步函数的回调函数中。"
readFile
参数内的函数前添加async
,像这样:fs.readFile('list.txt', 'utf8', async function (err, text) ...
- Yashar Aliabbasifs.readFile()
的回调函数不是异步函数。只有异步函数才能使用await
。 - Andrew Li