有没有办法在每个$ http.get上禁用$ digest的触发?

时间:2014-08-28 12:56:19

标签: javascript angularjs http digest

背景

angular $http服务会在每$digestget上触发$digest(如果尚未运行if (!$rootScope.$$phase) $rootScope.$apply(); ):

templateUrl

除了从我们的API中获取对象之外,我们的应用程序还有许多带$http的指令 - 使用$digest通过角度获取。这会在冷启动时导致数百$digest循环。

评论上述行,将$http循环的数量减少到大约3,并且应用程序运行 MUCH 更快,没有绑定被破坏(至少由于{{1} }不触发$digest)。

问题

有没有办法禁用$ http触发$ digest?

1 个答案:

答案 0 :(得分:3)

在app config上使用$httpProvider.useApplyAsync(true);。然后在10ms内加载的模板指令将面向相同的摘要。这将减少摘要周期调用。 see here