Node.js process.stdout.write 在 for 循环中闪烁

Ank*_*zle 3 console node.js

我正在制作一个控制台界面,并使用 for 循环。

for (let i = 0; i < 100000; i++) {
  process.stdout.clearLine();
  process.stdout.cursorTo(0);
  process.stdout.write('Something: ' + i);
}
Run Code Online (Sandbox Code Playgroud)

当我使用它时,'Something: i'闪烁。有什么办法可以让它不闪烁吗?

编辑:我正在使用 Windows 命令提示符,有没有办法防止那里闪烁?

Ari*_*rty 6

你太接近了!所以闪烁的发生是因为您正在清除整行,您只需要从光标右侧清除流(在您的情况下为 STDOUT)。

根据文档:

process.stdout.clearLine(1);
Run Code Online (Sandbox Code Playgroud)

这将解决问题。

您示例中的完整代码:

for (let i = 0; i < 100000; i++) {
  process.stdout.clearLine(1);// <<--here
  process.stdout.cursorTo(0);
  process.stdout.write('Something: ' + i);
}
Run Code Online (Sandbox Code Playgroud)