Nodejs中带有`progress`模块的堆叠进度条

时间:2018-12-27 22:24:53

标签: node.js terminal progress-bar command-line-interface

我在MacOS 10.10.5上运行带有NodeJS v10.9.0的progress v2.0.3,并尝试实现这样的堆栈式进度条:

'use strict';
const ProgressBar = require('progress');


const foo = new ProgressBar('Processing [:bar] :percent :etas', { total: 100 });
let timerFoo = setInterval( () => {
  foo.tick();
  if (foo.complete) {
    clearInterval(timerFoo);
  }
}, 10);


const bar = new ProgressBar('Processing [:bar] :percent :etas', { total: 100 });
let timerBar = setInterval( () => {
  bar.tick();
  if (bar.complete) {
    clearInterval(timerBar);
  }
}, 200);

尽管在第一个进度条完成后(或者在两个都以相同的计时器间隔运行时结束时)都具有两个已定义进度条的堆叠输出,但是对于未完成的进度条,我无法获得此输出。如何使用progress模块实现堆叠的进度条(总共需要四个条)?

1 个答案:

答案 0 :(得分:1)

有一个名为multi-progress的专用模块,该模块扩展了progress模块的API以允许多个进度条:

  

此模块在progress的API之上添加了一层,可用于   多个进度条。