node.js - nodeJS什么时候检查执行回调的回调队列?

标签 node.js

据我了解,Node JS 服务器继续在端口上监听任何传入请求,这意味着线程一直很忙?它什么时候从这个连续的永无止境的循环中跳出来,检查回调队列中是否有任何事件要处理?

2) 当Node JS开始执行回调函数的代码时,服务器实际上停止了?它不是在听进一步的请求吗?我的意思是,因为只有一个线程可以同时完成这两项任务,所以一次只能完成一个任务?

这种理解是正确的还是另有原因?

最佳答案

是的,你是对的。 nodejs 中的所有内容都在主线程上运行,除了 I/o 调用和 fs 文件调用分别进入操作系统内核和线程池执行。所有同步代码都在主线程上运行,当这段代码运行时,nodejs 无法处理任何进一步的请求。这就是为什么不建议使用长循环的原因,因为它可能会阻塞主线程很长时间。您需要创建子线程来处理它。

关于node.js - nodeJS什么时候检查执行回调的回调队列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36192257/

相关文章:

angularjs - Yeoman 生成器中的新路线重定向到主页

python - gyp_main.py : error: no such option: --no-parallel

node.js - npm 找不到模块

Node.js Express、handlebars - 获取数组的元素

javascript - 数组的 Promise 未按预期工作

javascript - Puppeteer:将截获的图像请求的 URL 更改为 base64 图像

node.js - 错误消息 : MongoError: bad auth Authentication failed through URI string

javascript - multer中的cb是什么?

javascript - 通过node.js中的回调函数传递变量

node.js - 模块.js :338 throw err in node. js