node.js - 是否有 Node.js console.log 长度限制?

标签 node.js console.log

Node.js 中的 console.log 输出的长度是否有限制?以下打印最多 56462 的数字,然后停止。出现这种情况是因为我们从 MySQL 返回数据集,而输出将在 327k 个字符后退出。

var out = ""; 
for (i = 0; i < 100000; i++) {
    out += " " + i; 
}

console.log(out); 

字符串本身看起来不错,因为它返回最后几个数字,最多为 99999:

console.log(out.substring(out.length - 23)); 

返回:

99996 99997 99998 99999

这是使用 Node v0.6.14。

最佳答案

你试过在内存更大的机器上写这么多吗?
根据 Node 源代码控制台正在写入流:https://github.com/joyent/node/blob/cfcb1de130867197cbc9c6012b7e84e08e53d032/lib/console.js#L55
并且流可以将数据缓冲到内存中:http://nodejs.org/api/stream.html#stream_writable_write_chunk_encoding_callback

因此,如果您将大量数据重新放入流中,则可能会达到内存上限。 我建议您拆分数据并将其输入 process.stdout.write 方法,这是一个示例:http://nodejs.org/api/stream.html#stream_event_drain

关于node.js - 是否有 Node.js console.log 长度限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27026301/

相关文章:

javascript - 如何验证 Sequelize 交易并使其看起来不错

node.js - NodeJs 无法回调 AWS Secrets Manager 响应

javascript - Node.js|工作进程 : How to verify two-way communication between a master and worker process

JavaScript 变量比较

node.js - 在 Node.js 中有什么方法可以在控制台上打印\n\r 吗?

node.js - 如何在单页应用程序中保持 session 变量在 Express 和 Socket.io 之间同步?

node.js - 查询字符串中有多个参数的 Express + Node 路由

mysql 查询在 Node js 中不起作用,相同的查询在终端上工作

javascript - 谁能告诉我为什么 8>7<6 = 真?

javascript - 控制台对象的函数被覆盖后如何使用 console.log()?