gpt4 book ai didi

javascript - 可以在 JavaScript 中等待/异步使阻塞进程变为非阻塞进程

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

我从 Node 阅读了这篇文章

https://nodejs.org/en/docs/guides/blocking-vs-non-blocking/

它说下面的代码是进程拦截器:

const fs = require('fs');
const data = fs.readFileSync('/file.md'); // blocks here until file is read
console.log(data);
// moreWork(); will run after console.log

如果我添加await会怎样?上面的代码会变得非阻塞还是会保持其真实本质?

示例代码:

const fs = require('fs');
const data = await fs.readFileSync('/file.md'); // no more blocking
console.log(data);

谢谢

最佳答案

不,代码无法运行,因为 wait 必须在 async function 中使用.

await 应该用于返回 Promise 的函数。

代码含义:

// await new Promise(...)
// console.log(...)

new Promise().then((...) => console.log(...))

如果你需要非 block 函数,你应该使用fs.readFile代替。

关于javascript - 可以在 JavaScript 中等待/异步使阻塞进程变为非阻塞进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48698326/

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