发送许多并行的提取请求(超过最大的浏览器支持)

我想知道:如果我要发送多个获取请求,超过了最大浏览器并行请求支持,我可以并行发送所有请求吗? 和浏览器会自动处理吗?或者我应该先将它们缩小到足够的大小并串起来。

Promise.all([allpromisses])

或任何其他解决方案,例如:

    function fetchAll(urls) {
        const requestPromises = urls.map(url => {
          return fetch(url).then(response => response.json());
        });
    
        requestPromises.reduce((chain,requestPromise) => {
          return chain.then(() => requestPromise)
            .then(data => data);
        },Promise.resolve());
      }

getBunch([promises1]).then(getBunch([promises2]). ...
youcansayyes 回答:发送许多并行的提取请求(超过最大的浏览器支持)

如果您不希望在所有提取都返回之前继续操作,那么值得使用Promise.all()并让浏览器处理请求排队。一件好事是Promise.all()将“快速失败”。这意味着除非您单独处理错误,否则一个失败的承诺将拒绝Promise.all()

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/all#Promise.all_fail-fast_behaviour

本文链接:https://www.f2er.com/2815786.html

大家都在问