我需要在同一行中与其他行同时写入。
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...
-------------
-------------
-------------
-------------
我更喜欢在没有任何模块的情况下执行此操作。
这里有很多主题讨论这个问题,但没有一个主题解释如何按照我的意愿去做。
我想我第一次写入该行时需要保存光标位置,然后下次写入时,我必须将光标移动到保存的行,对吗?
最佳答案
process.stdout.write('Downloading ' + i + '% complete... \r');
\r
字符表示返回到当前行的开头。您正在寻找 \n
,它也会跳下一行。或者继续使用 console.log
作为您的另一行,它会自动附加换行符。
关于javascript - Node js 控制台写入百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25194183/