javascript - Node js 控制台写入百分比

标签 javascript node.js console line

我需要在同一行中与其他行同时写入。

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/

相关文章:

javascript - #selector 仅适用于根元素而不适用于 Angular 子元素

javascript - javascript中多个li的高度相同

node.js - 如何在 Node.js 中验证 GitHub 应用程序?

javascript - FRP 中 EventStreams 的循环依赖

javascript - 使用 SystemJS 的生产工作流和通过 CDN 托管的外部依赖项

python - Python 中 HTTP POST 请求的行为不一致

windows - ConsoleZ maven 颜色输出

python - '\b' 不会在 PyCharm 控制台中打印退格

python - 是否可以在 IPython 控制台中显示 Pandas 样式?

javascript - 使用javascript对二维数组进行排序