3

这是一个显示问题的plunker:

http://plnkr.co/edit/J8zRIj?p=preview

这是一个在 scripts.js 和 scripts.spec.js 中都注释掉了错误的 plunker,我不再收到 $digest 错误:

http://plnkr.co/edit/jCRlwf?p=preview

当错误不在 $http 请求的回调中时,抛出和测试错误似乎有效。任何人都知道为什么这可能不起作用?

4

1 回答 1

5

问题是模拟 $exceptionHandler 服务默认重新抛出异常。因此,您的异常导致 $rootScope.$apply 在中间中止。

一种解决方案是将模拟 $exceptionHandlerProvider 切换到“日志”模式,然后检查 $exceptionHandler.errors。见这里

于 2013-07-11T17:45:09.953 回答