Добрый день,
Изучаю NodeJS, запутался уже слегка.
Есть API: nginx -> pm2 -> nodejs
Есть сервис который шлет JSON на этот API, от 10 до 100 объектов в секунду в одном запросе.
Как сделать так что бы не пропустить ни один запрос(посылку) при том что надо переслать эти данные на другой сервис?
Вот код
app.post('/apiendpoint', function (request, reply) {
let arrayOfRequestsToSend = [];
for (let index = 0; index < request.body.user; index++) {
if (request.body.user.user_id) {
let userId = request.body.user.user_id;
let userName = request.body.user.user_name;
// что будет если здесь асинхроно записывать в БД userId и userName?
let requestToSend = axios.get(`http://someservice.com/someendpoint?user_id=${userId}&user_name=${userName}`);
arrayOfRequestsToSend.push(requestToSend);
}
}
// переслать полученые данные на другой сервис
if (arrayOfRequestsToSend.length != 0) {
axios.all(arrayOfRequestsToSend)
.then(responseArr => {
console.log(responseArr);
})
.catch(errors => {
console.log(errors);
});
}
reply.send(request.query);
})