Angularjs推迟日志运行计时器任务(s)
构build一个离子应用程序,并突然遇到一个问题,我发现真的很难debugging的地方是浏览器“推迟”长时间运行的计时器任务,导致我的视图只能执行一次控制器中的代码(即使控制器显式重新加载)。
警告是:
推迟长时间运行计时器任务以提高滚动平滑度。 请参阅crbug.com/574343。
我在之后:
- 了解警告及其发生的原因
- 任何指导如何去debugging这样的警告。
提前致谢。
更新我觉得重要的是要注意,虽然从来没有收到错误,只有警告作为我的问题的原因,我已经回滚到一个工作版本。
这个工作版本仍然有警告出现,但不影响我的应用程序的运行。
以及如果你正在使用$超时任务,你必须停止并摧毁他们,否则他们会创build你说的错误
例如:
var timer = $timeout( function() { console.log( "Timeout executed", Date.now() ); }, 2000 );
如果你像上面那样开始超时,那么你必须按如下方式销毁计时器:
// When the DOM element is removed from the page, // AngularJS will trigger the $destroy event on // the scope. This gives us a chance to cancel any // pending timer that we may have. $scope.$on( "$destroy", function( event ) { $timeout.cancel( timer ); } );
只有在第一次加载视图时调用函数时,才面临这个问题。 在控制台中注意到这个警告,但不知道这是否与只被调用一次的函数有关。 在控制器中,我将我的函数调用移动到“$ ionicView.enter”中,每次加载视图时都会调用它。
$scope.$on('$ionicView.enter', function () { callMyFunction(); });
希望这可以帮助。
听起来像你可能有最大数量的连接在您的浏览器。 您可能希望将您的http请求减less为包含10个请求与10个单独的http请求的单个请求。
关于你的问题的答案是沿着每个浏览器的最大HTTP请求线。
“每个服务器/代理的最大默认同时持续连接数:”
在这里也回答如果我正确地假设 – 浏览器中最大并行http连接?