Я пытаюсь получить данные из веб-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 запросов в одной переменной для дальнейшего анализа. Если я жду каждого запроса, это занимает слишком много времени.