xmlhttprequest同时请求不起作用

Gre*_*ann 10 javascript asynchronous xmlhttprequest

我正在尝试制作"许多" xhr请求,但似乎每次在提出另一个请求之前等待答案.这就像XHR组成队列并始终等待前一个请求完成.

如何同时运行更多xhr请求?

$('body').delegate('.download','click', function(evt){
        evt.preventDefault(); // Not related

        var xhr = new XMLHttpRequest();
        xhr.open('GET', "proxy.php?" + this.href, true);
        xhr.responseType = 'blob';

        xhr.onload = function() {
            if (this.status == 200) {              
                var blob = new Blob([this.response], {type:'audio/mp4'});

                console.log(blob.size);
                if(blob.size > 0){
                    $("<a>").attr({
                        download: name,
                        href: URL.createObjectURL(blob),
                        target: "_blank"
                    })[0].click();
                }
            }
        };  
        xhr.send();
    });
Run Code Online (Sandbox Code Playgroud)

Que*_*tin 11

不是很多.

浏览器强制限制:

  • 给定源的并行HTTP请求数
  • 并行HTTP请求的总数(这是一个更大的限制)

如果您在更多原件之间拆分请求,您可能会发现从上面的第一个到第二个中提出了约束.