2015-04-15 18 views
1

我有一个大致的角度问题:

我得到了同样的错误如下: https://github.com/angular-ui/bootstrap/issues/516

这个错误(“$ apply already progress”)在我的应用程序中可能会出现问题吗?在我的测试中看来,这个错误对我的应用程序没有影响。里面的每个任务仍然有效。

将这个错误带入生产系统是否没有问题?

非常感谢。

+1

发布您的代码将是一个开始。首先 - 它不会破坏应用程序,生产代码应该尽可能清除错误,它会告诉其他人关于您的代码质量:) – Beri

+0

可能是一个问题,我们需要知道更多。尝试使用'if(!$ scope。$$ phase){...}'''来包装触发该代码的代码,并查看错误是否仍然出现 – scniro

+0

在我的代码中它不是一个真正的问题。问题始于boostrap-ui工具提示和一个确认窗口。在工具提示功能内发生此错误。 @sal niro:但是这个代码在bootstrap-ui库中。我不喜欢在这个库中编辑。也许这种改变会导致其他错误? – user2622344

回答

1

当您尝试运行$scope.$apply并且已有一个$apply正在进行时,通常会发生这种情况。解决方法是始终防止此错误是使用$timeout而不是$scope.$apply

1

你陷入了这个问题,因为你的代码试图在一个完成之前触发摘要周期,并且你只面对IE,可能是因为IE的慢速特性。所以我的想法是使用$范围。$ evalAsync

$scope.$evalAsync(function() { 
console.log('I am done.');    
}); 

OR

$scope.$evalAsync(angular.noop); 

我希望这对你的工作。

谢谢