Node.js process.stdout.write мигает в цикле for - PullRequest
0 голосов
/ 18 января 2020

Я делаю интерфейс консоли и использую для l oop.

for (let i = 0; i < 100000; i++) {
  process.stdout.clearLine();
  process.stdout.cursorTo(0);
  process.stdout.write('Something: ' + i);
}

, когда я использую это, 'Something: i' мигает. Есть ли способ, чтобы он не мерцал?

РЕДАКТИРОВАТЬ: Я использую командную строку windows, есть ли способ предотвратить мерцание там?

1 Ответ

2 голосов
/ 19 января 2020

Вы были ооочень близки! Таким образом, мерцание происходит, потому что вы очищаете всю строку , вам нужно просто очистить поток (в вашем случае STDOUT) с с правой стороны вашего курсора .

Согласно do c:

process.stdout.clearLine(1);

Это поможет.

Полный код из вашего примера:

for (let i = 0; i < 100000; i++) {
  process.stdout.clearLine(1);// <<--here
  process.stdout.cursorTo(0);
  process.stdout.write('Something: ' + i);
}
...