$http.post 未响应并发呼叫



我最近开始使用角度JS研究离子框架。这是我对$http.post的问题

我的

要求是我需要将照片上传到我的服务器。用户选择一堆照片(比如15张),然后开始上传到服务器。这是我上传到服务器的代码

foreach(photo in photoList){
     $http.post(url,photo).then(success(){},error(){})
}

现在我的问题在 15 张照片中只有 6-7 张照片正在上传。对于剩余的照片$http.post()甚至没有呼叫。我听说可能存在$http并发问题。这是对的吗?如果是这样,如何解决此问题?

按照惯例,您面临着所有 Web 浏览器中内置的并发限制。浏览器不会超过某个小数字,通常是 6 个(详细信息在这里)同时连接到同一源主机。你不能在javascript或Web应用程序可用的任何技术中绕过这一点。这是有充分理由的,因为在某些时候,随着网络饱和或其他资源限制开始达到,并行性实际上会导致整体性能降低。您必须在此限制内工作。浏览器将自动在并发阈值内对您的请求进行排队,因此您无需添加任何特殊代码。但是,如果要向最终用户提供更准确的进度,则可以选择在代码中施加自己的并发限制。

最新更新