【发布时间】:2014-03-04 13:09:59
【问题描述】:
我正在使用 Angulars $http.post 向服务器发出轮询请求。但是,如果服务器关闭,客户端浏览器(谷歌浏览器)会变得非常慢,但在 Firefox 上运行良好。我无法在我的开发机器上重现它,可能是因为它更强大,但我也注意到两台机器之间的差异。客户端浏览器报告ERR_CONNECTION_RESET,而我的报告ERR_CONNECTION_REFUSED。我不确定这是否有什么不同。
代码本身并没有做太多:
var update = function () {
$http.post(url)
.success(onSuccess)
.error(onError);
};
var onError = function () {
$rootScope.errors = true;
$timeout(update, pollInterval * 2);
};
var onSuccess = function (data) {
_data = data;
$rootScope.$broadcast('dataUpdated');
$rootScope.errors = false;
$timeout(update, pollInterval);
};
我找不到任何理由说明这只会在断开连接时减慢 Chrome。返回 5xx http code 工作正常,因此它也不应该与 onError 函数相关。谷歌浏览器版本是 33.0.1750。
【问题讨论】:
-
我唯一的理论是防病毒程序以某种方式干扰。客户端正在运行趋势科技防毒墙网络版。
-
应用程序是否会自动循环遍历任何响应数据?当我的应用尝试处理错误消息时,我遇到了同样的问题,就像它们是有用的数据一样。
-
不,没有自动处理。发布的内容几乎就是所有发生的事情。
标签: jquery angularjs google-chrome