在使用 angular + requirejs 进行开发期间。我遇到了一个奇怪的问题。
如果我快速刷新页面(如按 F5),几次后,我将收到以下错误消息,页面不再工作,甚至再次刷新页面,除非清理缓存并在新选项卡上打开页面:
Error: $digest already in progress
at Error (<anonymous>)
at beginPhase (http://www.caoglish.info/angular_bug/assets/vendor/angular/angular.js:8495:15)
at Object.Scope.$apply (http://www.caoglish.info/angular_bug/assets/vendor/angular/angular.js:8297:11)
at done (http://www.caoglish.info/angular_bug/assets/vendor/angular/angular.js:9357:20)
at completeRequest (http://www.caoglish.info/angular_bug/assets/vendor/angular/angular.js:9520:7)
at XMLHttpRequest.xhr.onreadystatechange (http://www.caoglish.info/angular_bug/assets/vendor/angular/angular.js:9490:11)
at http://www.caoglish.info/angular_bug/assets/vendor/angular/angular.js:9499:11
at sendReq (http://www.caoglish.info/angular_bug/assets/vendor/angular/angular.js:9333:9)
at $http (http://www.caoglish.info/angular_bug/assets/vendor/angular/angular.js:9124:17)
at Function.$http.(anonymous function) (http://www.caoglish.info/angular_bug/assets/vendor/angular/angular.js:9267:18)
这个错误似乎只发生在 chrome 中。我尝试在 IE 和 Firefox 上触发它,但没有发生。但是,我在慢速计算机上用 chrome 尝试它,它也没有发生。
我触发此问题的计算机具有 i7 cpu,8gb ram.angular 我使用的是 1.0.8。
我附上了我的代码,它隔离了这个问题。我的项目代码比这个更复杂,所以触发它的时间更少。孤立的代码可能需要在 F5 上按更多次才能触发问题。
孤立的示例代码:链接
如何触发错误:视频
快速按 F5 直到它发生。
我在 Angular 项目上创建了一个问题帖子:链接