Максимальное количество HTTP-запросов с использованием веб-работников

Я знаю, что существует ограничение на количество одновременных http-соединений, которые могут произойти за раз в браузере...

Это общий общий лимит браузера? Являются ли веб-работники объектом этого ограничения, или они обрабатываются по-разному, потому что они разные потоки?

Ответы

Ответ 1

Вы можете использовать метод fetch() для рабочих сервисов для выполнения сетевых запросов. Разработчики Googe Explain Fetch

Функция выборки соответствует модели HTTP-запроса и ограничена только сетью.

Ответ 2

TL;DR: Рабочие (по крайней мере в Chrome и Firefox), по-видимому, придерживаются глобального максимального количества подключений на каждое имя хоста.

Я использовал этот код для создания нескольких рабочих...

/* jshint esversion: 6 */

(function() {

    'use strict';

    const iWorkerCount = 20;

    for(let i = 0; i < iWorkerCount; i++) {
        const oWorker = new Worker('/js/worker.js');
    }

}());

... и затем каждый работник сделал удаленный запрос в службу изображений...

/* jshint esversion: 6 */

(function() {

    'use strict';

    const sUrl = 'https://loremflickr.com/320/240';

    fetch(sUrl).then(sResponse => {
        console.log(sResponse);
    });

}());

Там начальная партия запросов, которые завершаются в одно и то же время, а затем оставшиеся запросы просачиваются через короткое время после того, как количество запросов max проскакивает