Длительные задержки в отладчике Chrome при параллельных операциях выборки для одного и того же API

Мой интерфейс должен сделать несколько GET (или же POST) операции с различной полезной нагрузкой для одного и того же сервиса / API. Эти операции независимы, и поэтому они могут выполняться параллельно. Параллельно я имею в виду:

const fetchResponseJson = async (url, request) => {
    const response = await fetch(url, request);
    if (response.ok)
        return await response.json(); //I'm now sure this is necessary
    else
        throw new Error('Error loading data from ' + url);
};

const parallelFetches = fetchesData => {
    const fetchPromises = [];
    _.each(fetchesData, fetchData => {
      fetchPromises.push(fetchResponseJson(fetchData.url, fetchData.request);
    });
    const answers = await Promises.all(fetchPromises);
    _.each(answers, answer => { ... } );
}

Теперь, глядя на вкладку "Сеть" в отладчике Chrome, я вижу, что первые 4-5 запросов находятся во времени ожидания (зеленые полосы) все вместе (т.е. они выполняются параллельно), в то время как остальные остаются в Остановленное состояние (серые столбцы) до тех пор, пока не будет выполнен предыдущий запрос.

Это пример:

Теперь мой вопрос: почему это происходит? Так как наша команда определила как сервер, где обрабатываются запросы, так и интерфейс, кто "отвечает" за это?

Извините, если не хватает информации, но я боюсь, что этим я не могу поделиться гораздо большим, чем этот (но, тем не менее, пожалуйста, задайте любой вопрос для уточнения!).

0 ответов

Другие вопросы по тегам