使用Web worker的最大http请求数

mpi*_*ell 18 javascript xmlhttprequest web-worker

我知道浏览器中一次可能发生的并发http连接数量有限制...

这是浏览器的总体限制吗?网络工作者是否也受到这个限制,或者因为它们是不同的线程而被区别对待?

mic*_*ael 3

TLDR:工作人员(至少在 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');
    }

}());
Run Code Online (Sandbox Code Playgroud)

...然后每个工作人员向图像服务发出远程请求...

/* jshint esversion: 6 */

(function() {

    'use strict';

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

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

}());
Run Code Online (Sandbox Code Playgroud)

最初一批请求会同时完成,然后一旦最大请求数下降,剩余的请求就会慢慢流入