我一直在寻找如何用其他语言来做,我发现我必须使用特殊字符\ b来删除最后一个字符.(how-do-do-do-erase-printed-characters-in-a-console-applicationlinux)
这对于对console.log()的多次调用中的node.js不起作用;
如果我写一个日志:
console.log ("abc\bd");
Run Code Online (Sandbox Code Playgroud)
我得到了结果:abd
但如果我写:
console.log ("abc");
console.log ("\bd");
Run Code Online (Sandbox Code Playgroud)
我得到了结果:
abc
d
我的目标是打印一条等待的消息:
等待
等待.
等待......
等待......
然后再次:
等待
等待.
等等
都在同一条线上.
pim*_*vdb 123
有以下功能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);
Run Code Online (Sandbox Code Playgroud)
2015年12月13日更新:尽管上述代码有效,但不再将其记录为部分内容process.stdin.它已经搬到了readline
jon*_*mps 16
覆盖同一条线的最简单方法是
var dots = ...
process.stdout.write('Progress: '+dots+'\r');
Run Code Online (Sandbox Code Playgroud)
这\r是关键.它会将光标移回到行的开头.
| 归档时间: |
|
| 查看次数: |
37455 次 |
| 最近记录: |