首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Node.js的console.log是异步的吗?

Node.js的console.log是异步的吗?
EN

Stack Overflow用户
提问于 2011-02-26 22:45:06
回答 3查看 52.3K关注 0票数 99

node.js中的console.log/debug/warn/error是异步的吗?我的意思是,javascript代码的执行会暂停,直到内容打印到屏幕上,还是会在以后的阶段打印出来?

此外,我还想知道,如果console.log在其崩溃节点后立即执行语句,是否有可能不显示任何内容。

EN

回答 3

Stack Overflow用户

发布于 2011-03-01 15:21:58

console.warn()和console.error()被阻塞。在基础系统调用成功之前,它们不会返回。

是的,程序有可能在写入stdout的所有内容都被刷新之前退出。process.exit()将立即终止节点,即使仍有对标准输出的排队写入。您应该使用console.warn来避免此行为。

票数 29
EN

Stack Overflow用户

发布于 2018-03-27 16:02:11

Console.log在windows中是异步的,而在linux/mac中是同步的。为了使console.log在windows中同步,可以在index.js文件中的代码开头写下这一行。此语句后的任何console.log都将被解释器视为同步。

if (process.stdout._handle) process.stdout._handle.setBlocking(true);
票数 3
EN

Stack Overflow用户

发布于 2021-06-07 20:27:43

您可以将其用于同步日志记录:

const fs = require('fs')
fs.writeSync(1, 'Sync logging\n')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5127532

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档