Я столкнулся с действительно странной ошибкой.Я вызываю одну и ту же конечную точку несколько раз, чтобы проверить производительность своего приложения.Когда я делаю следующий тест:
const call = () => axios.post('http://localhost:3000');
(async () => {
let calls = [call(), call(), call(), call(), call()]
let responses = await Promise.all(calls);
})();
я получаю следующий журнал на сервере:
POST / 200 2576.633 ms - 18
POST / 200 2587.848 ms - 18
POST / 200 2596.250 ms - 18
POST / 200 2583.056 ms - 18
POST / 200 3190.753 ms - 18
Все правильно!:)
Но , если я создаю массив динамически, как это:
const call = () => axios.post('http://localhost:3000');
(async () => {
let calls = new Array(5);
calls = calls.fill(call());
let responses = await Promise.all(calls);
})();
Журнал на сервере - только один :
POST / 200 3803.059 ms - 18
Как это вообще возможно?Это связано с кешем?
Примечание: и скрипт, и сервер используют Node 10.14.0. Сервер - это минимальное приложение Express, между которыми нет Nginx или других веб-серверов.