AngularJS消化周期和承诺

时间:2013-12-05 18:21:13

标签: unit-testing angularjs

在下文中,我必须致电$scope.$apply()以启动摘要周期并更新视图。

service.doSomething()
  .then(function(result) {
    $scope.thing = result;
    $scope.$apply(); // <--- Why?
  });

为什么$q在解析承诺时不会启动摘要周期?

我遇到的问题是,如果我在单元测试中模拟doSomething()方法并返回已解决的promise,我必须在检查结果之前在测试中调用$scope.$apply()。这自然导致$digest already in progress错误,因为$scope.$apply()连续两次被调用。

0 个答案:

没有答案