$ http.post没有响应并发调用

时间:2014-12-09 18:32:40

标签: javascript angularjs ionic-framework

我最近开始使用angular JS开发离子框架。这是$http.post

的问题

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

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

现在我的问题是15个,只有6-7张照片正在上传。对于剩余的照片$http.post(),通话甚至都没有被调用。我听说可能会有$http个并发问题。那是对的吗? 如果是,如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

按照惯例,您将面临所有Web浏览器内置的并发限制。浏览器不会产生超过一定数量的小数,通常是6(details here)同时连接到同一个源主机。您无法在javascript或Web应用程序可用的任何技术中绕过此功能。这是有充分理由的,因为在某些时候,并行性实际上导致整体性能降低,因为网络饱和或其他资源限制开始受到影响。您必须在此限制范围内工作。浏览器将自动将请求排入并发阈值,因此您无需添加任何特殊代码。但是,如果您希望为最终用户提供更准确的进度,则可以选择在代码中强加自己的并发限制。