TLDR: Workers (in Chrome and Firefox at least) appear to adhere to a global max number of connections per host name.
I used this code to create a number of workers...
/* jshint esversion: 6 */
(function() {
'use strict';
const iWorkerCount = 20;
for(let i = 0; i < iWorkerCount; i++) {
const oWorker = new Worker('/js/worker.js');
}
}());
... and then each worker made a remote request to an image service...
/* jshint esversion: 6 */
(function() {
'use strict';
const sUrl = 'https://loremflickr.com/320/240';
fetch(sUrl).then(sResponse => {
console.log(sResponse);
});
}());
There's an initial batch of requests that complete at the same time and then the remaining requests trickle in shortly once the number max requests dips