首页 > 解决方案 > 更新终端输出 Node.js

问题描述

我一直在解决projecteuler.net上的一些问题,并且正在编写函数和算法来解决这些问题,主要是 JavaScript(在 Node.js 环境中运行)。

在许多这些问题中,我经历了数千个不同的数字,我想(在终端输出中)显示它当前所在的数字。我不希望它只是继续编写新行,而只是更新现有行......有没有办法在 JavaScript 中做到这一点?可能在任何 Node 模块的帮助下?

我知道有一种方法可以清除控制台,所以我可以让它清除它然后再次写入数字,但这也会清除我仍然想显示的先前输出......

提前致谢!

标签: node.jsterminaloutput

解决方案


这可能就足够了吗?

import readline from 'readline';

function clearLine() {
  readline.cursorTo(process.stdout, 0);
  readline.clearLine(process.stdout, 0);
}

let counter = 0;

setInterval(() => {
  clearLine();
  process.stdout.write(String(counter++));
}, 1000);

推荐阅读