Я все время получаю "Неожиданный конец JSON ввода" - PullRequest
0 голосов
app.get("/dashboard", function(req, res) {
  const country = "Singapore";

  // I used a constant in desperation

  const url =
    "https://api.covid19api.com/live/country/" + country;
  https.get(url, function(response) {
    response.on("data", function(data) {
      const caseData = JSON.parse(data);

      // Error stems from here

      res.render("cases", { caseData: caseData });
    });
  });
});

1 Ответ

2 голосов
/ 06 мая 2020

Вы не ждете всего сообщения, прежде чем пытаться его проанализировать.

Событие data вызывается для каждого фрагмента данных из HTTP-ответа. Ответ не обязательно помещается в один блок.

Вам придется подождать события end, прежде чем пытаться проанализировать JSON ... или, желательно, использовать библиотеку более высокого уровня, такую ​​как node-fetch для более удобного API на основе обещаний.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...