首页 > 解决方案 > 节点“进度”模块,出现错误

问题描述

我正在使用疯狂的节点模块进度,但遇到一个问题,如果我在 try...catch 块之后执行它,如果捕获到错误,它将无法正确呈现。

例如:

const bar = new progBar('[:bar] File :token1: :token2 \n', {
  total: filesArray.length,
});

for (let i = 0; i < filesArray.length; i += 1) {
  const file = filesArray[i];
  let result;

  try {
    result = getStuff(file) || 'Nothing returned.';
  } catch (e) {
    result = e.toString();
  }

  bar.tick({
    token1: file,
    token2: result,
  });

  if (bar.complete) {
    console.log('\nComplete\n');
  }
}

按预期呈现每个返回的结果,除非触发了 catch 语句,然后栏甚至不会尝试显示该结果(理想情况下,栏加上错误)......它只是跳过那些刻度并继续显示......

标签: node.jscommand-line-interfaceprogress

解决方案


用这个:

const bar = new progBar('[:bar] File :token1: :token2', {
  total: filesArray.length,
});

问题不是try catch,因为您的 progBar 有一个新行。删除\n,您只需登录一行。


推荐阅读