コンソールに印刷されている文字を消す方法 質問する

コンソールに印刷されている文字を消す方法 質問する

他の言語でこれを行う方法を検索したところ、最後の文字を削除するには特殊文字 \b を使用する必要があることがわかりました。コンソール アプリケーションで印刷された文字を消去する方法 Linux

これは、console.log() への複数の呼び出しにおける node.js では機能しません。

単一のログを書き込む場合:

console.log ("abc\bd");

結果は次の通りです: abd

しかし、もし私がこう書いたら:

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

結果は次のようになります:

あいうえお

私の目標は、次のような待機メッセージを印刷することです。

待っています
、待っています。
待っています。
待っています。

そしてまた:

待って
待って。
など

すべて同じ行にあります。

ベストアンサー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.stdinreadline

おすすめ記事