Node.js несколько запросов - нет ответов - PullRequest
0 голосов
/ 06 мая 2018

Я пытаюсь получить данные из веб-API с помощью axios (Node.js). Мне нужно выполнить около 200 запросов с разными URL-адресами, чтобы получить некоторые данные для дальнейшего анализа. Я пытался использовать несколько библиотек для http-выносок, но в каждом случае у меня была одна и та же проблема. Я не получил сообщение об ошибке или об ошибке. Запрос просто сток где-то.

async function sendRequest(url) {
  let resp = await axios.get(url);
  return resp.data;     
}

Я вызываю эту функцию в цикле foor

for (var url in urls) {
   try {
     setData(url)         
   } catch (e) {
     console.log(e);
   }
}

async function setData(url) {
   var data = await sendRequest(url);
   // Set this data in global variable.
   globalData[url] = data;
}

Я часто получал эту ошибку:

Error: read ECONNRESET

Я думаю, что все это связано со слишком большим количеством запросов за небольшой промежуток времени. Что я должен сделать, чтобы получить все запросы. Мое временное исправление состоит в том, чтобы периодически отправлять 20 запросов в 20 секунд (все еще не хорошо, но я получил больше ответов). Но это медленно и занимает много времени.

Однако мне нужны все данные из 200 запросов в одной переменной для дальнейшего анализа. Если я жду каждого запроса, это занимает слишком много времени.

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