javascript - AngularJS + Android 4.2 : very slow to react

标签 javascript android angularjs android-4.2-jelly-bean

我们的网络应用程序是使用 AngularJS v1.2.26 构建的,我们正在解决似乎只在较旧的 Android 浏览器(特别是 4.2)上发生的问题...

简而言之,异步事情的发生速度比应有的速度慢 600%。例如,我们显示一条错误消息来响应失败的 HTTP 请求。负责发出请求的服务有一个保存状态消息的变量。然后 Controller 会像这样观察它:

// Status msg ctrl
var statusCtrl = app.controller('statusCtrl', function($scope, updateService, $timeout) {

  $scope.message = false;
  //watch for status messages
  $scope.$watch(function () { return updateService.loadingTroubleMsg; },
    function (value) {
        $scope.message = value;
    }
  );

});

在其他浏览器中这工作得很好。 http 请求失败,然后立即出现该消息。在 Android 浏览器(客户端通过 USB 运行)上,大约 20 分钟后会显示该消息。

我有几个理论:

  1. 这个 promise 需要很长时间才能兑现,
  2. $watch 正在以慢动作播放。
  3. http 请求花了很长时间才超时。

没有明显的错误,其他一切似乎都正常。不幸的是,我没有确切的 USB Android 设备,这使得故障排除变得更加困难。

为什么会发生这种情况?我的任何理论比其他理论更合理吗?欢迎提供有关如何查明真相的任何建议。

最佳答案

结果是#3。我在 $http 配置设置中添加了“超时”限制,它开始正常响应。我不知道为什么这仅在 Android 4.2 上重要。我猜这与缺乏对 promise 的(原生)支持有关。

关于javascript - AngularJS + Android 4.2 : very slow to react,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29130227/

相关文章:

Javascript DOM 元素通过 id 访问而不使用函数

php - 谷歌钱包 : How to include the order ID in the success_handler?

android - 在 Android Pie 中禁用 sqlite 预写日志记录

javascript - 将数字添加到对象返回 NaN

javascript - 忽略选择选项 jQuery 的值

Javascript:当鼠标悬停在一个元素上时,如何定位幻灯片中选定的元素?

android - bottone1 无法解析或不是字段

android - Mifare Ultralight C 锁

html - ngDialog 内容不可点击?

angularjs - 构建我的测试文件夹/方法