使用console.log时如何冻结NodeJS中的行

时间:2015-11-19 13:34:37

标签: node.js

例如,我正在做

console.log('Press A to Stop')
for(var i=0;i<10000;i++) console.log(i);

我希望消息按一下停止,将继续一直显示。

你知道怎么做吗?

enter image description here

我想到的唯一解决方案是计算屏幕中的数字行,并逐帧渲染(x-1行),并每次添加底行。

更多信息

我想在屏幕上显示日志。 (查询,请求,错误等),我希望用户能够更改日志级别,我希望在看到日志时在屏幕上显示指令。

1 个答案:

答案 0 :(得分:3)

实际上非常简单,但你不能使用std::cout << x; (在你的情况下,这不是一个大问题)。

您需要做的是:

  1. 而非console.log使用console.log,其中process.stdout.write(x)是您想要的输出(后跟换行符x
  2. 使用\n(注意最后没有换行符号)
  3. 在您需要编写下一行信息之前,使用process.stdout.write("Press A to Stop");清除当前输出最后一行的内容
  4. 重复步骤1至3