Задача:
Есть 5000 urls. Необходимо проверить каждый url существует он или нет. Отправить head запрос и если статус ответа 200 то все ок.
const axios = require('axios');
const promises = [];
[5000].forEach((url) => {
promises.push(axios.head(url).catch(() => ({ status: 'error' })));
});
Promise.all(promises)
.then((results) => {
//do somthing with result
})
.catch((err) => {
//do somthing with error
});
Я понимаю, что так не правильно, но оно так работает, но очень долго.
Посоветуйте куда копать. Дайте совет. Скажите что это не работает так в node js или вообще....
Можно конечно по очереди проверять каждый url, но так будет долго.
Как правильно сделать много запросов единовременно и какие ограничения существуют?