Поток узла возвращает строки в странном формате - PullRequest
0 голосов
/ 16 февраля 2020

Я передаю поток узла на стандартный вывод, но он всегда записывает его странным образом, каждая строка выглядит как объект, также, как вы можете видеть, записывается новый идентификатор строки.

stream.setEncoding('utf8');
stream.pipe(process.stdout, { end: true });

Это так выглядит консольный журнал. Выходные данные получены в результате создания контейнера docker с использованием dockerode.

{"stream":"\n"}
{"stream":" ---\u003e Using cache\n"}
{"stream":" ---\u003e 7b0c642899ce\n"}
{"stream":"\n"}
{"stream":" ---\u003e Using cache\n"}
{"stream":" ---\u003e e01f16a7ed86\n"}
{"stream":"Step 8/11 : WORKDIR /home"}

Почему это так и как я могу это исправить?

1 Ответ

0 голосов
/ 18 февраля 2020

Исправлено, сделав это вместо stream.pipe(process.stdout)

stream.on('data', data => {
  try {
    console.log(JSON.parse(data.toString()).stream);
  } catch (error) {
    return;
  }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...