Чанки отсутствуют при потоковой передаче данных ответа в Node.js - PullRequest
0 голосов
/ 15 февраля 2019

Получив ответ от axios, я преобразую его в поток. После получения некоторых фрагментов stream.on("end" выполняется.Из-за этого я получаю

Uncaught SyntaxError: Unexpected token with JSON.parse

Для нормальных данных (ответ от API) это работает.Но для больших откликов чанки отсутствуют.

Я также пытался сохранить чанки в массиве, но безрезультатно.Для того же API я пытался с Почтальон , и я получаю ответ.

  httpRequest["responseType"] = "stream"
  httpRequest["responseEncoding"] = "utf8"
  returnValue = await axios(httpRequest)
  let outputString = "";
  const stream = returnValue.data;
  stream.on("data", (chunk) => {
       outputString += chunk.toString("utf8")
  });
  stream.on("end", () => {
  var finalJson = JSON.parse(outputString);
  });

1 Ответ

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

После добавления Accept-Encoding в виде gzip я получаю полный ответ без использования потоков.

httpRequest.headers["Accept-Encoding"] = "gzip, deflate, br"
returnValue = await axios(httpRequest)
console.log(JSON.parse(JSON.stringify(returnValue.data)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...