一尘不染

如何清除控制台中打印的字符

node.js

我一直在寻找其他语言的用法,但发现必须使用特殊字符\b删除最后一个字符。

对于多次调用console.log()的node.js,这不起作用。

如果我写一个日志:

console.log ("abc\bd");

我得到结果:abd

但是如果我写:

console.log ("abc");
console.log ("\bd");

我得到结果:

abc
d

我的目标是打印一条等待消息,例如:

等待
等待。
等待中..
等待中…

然后再次:

等待
等待。
等等

都在同一行。


阅读 383

收藏
2020-07-07

共1个答案

一尘不染

有以下功能可用process.stdout

var i = 0;  // dots counter
setInterval(function() {
  process.stdout.clearLine();  // clear current text
  process.stdout.cursorTo(0);  // move cursor to beginning of line
  i = (i + 1) % 4;
  var dots = new Array(i + 1).join(".");
  process.stdout.write("Waiting" + dots);  // write text
}, 300);

可以提供参数 clearLine(direction, callback)

/**
 * -1 - to the left from cursor
 *  0 - the entire line // default
 *  1 - to the right from cursor
 */

*2015年12月13日 *更新
:尽管以上代码有效,但不再作为的一部分进行记录process.stdin。它已移至readline

2020-07-07