我需要与其他行同时写在同一行。
var i = 1;
write();
function write() {
if (i == 6) return;
setTimeout(function() {
console.log('-------------');
process.stdout.write('Downloading ' + i + '% complete... \r');
i++;
write();
}, 100);
}
我得到了什么:
-------------
-------------% complete...
-------------% complete...
-------------% complete... Downloading 5% complete...
我需要什么:
-------------
Downloading 5% complete...
-------------
-------------
-------------
-------------
我更喜欢在没有任何模块的情况下这样做。
这里有各种各样的话题,但没有一个解释如何按我的意愿去做。
我想我第一次写行时需要保存光标位置,然后下次写入时,我必须将光标移动到保存的行吗?
答案 0 :(得分:1)
process.stdout.write('Downloading ' + i + '% complete... \r');
\r
字符表示返回当前行的开头。你正在寻找\n
,它也会跳下一条线。或者继续使用console.log
作为您的其他行,它会自动附加换行符。
答案 1 :(得分:0)
我使用C / C ++中的curses库完成了这种事情。 有一个名为node-ncurses的节点,它可以帮助你。