单行控制台输出作为变量而不是每个变量值的一个console.log?

时间:2017-09-30 01:29:24

标签: node.js

node.js中是否有办法将控制台显示中的计数器推进到一行,而不是每行的console.log输出?

e.g。

let x = 1
while (x <= 10) {
  console.log(`The value assigned to 'x' is now: ${x}`);
  x++;
  }

为x = 1到10打印10行。

当x值递增时,是否可以使一条线保持静止?作为一个用例,如果x的值增加到一百万,控制台将显示一行,直到x为1000000。

1 个答案:

答案 0 :(得分:0)

这就是单行的诀窍:

const process = require('process');
let x = 1;
process.stdout.write(`The count is now at: ${x}`);
const counter = () => {
  process.stdout.clearLine();
  process.stdout.cursorTo(0);
  x++;
  process.stdout.write(`The count is now at: ${x}`);
  if(x >= 10) {
    clearInterval(cycle);
    process.stdout.write('\n');
  }
};

const cycle = setInterval(counter, 1000);

......然后就是:https://github.com/sindresorhus/log-update