如何在不使用 $timeout 的情况下知道 AngularJS 摘要循环何时结束?

问题描述

这是一个关于 AngularJS 的一般问题。

AngularJS 不会引发事件来通知摘要循环何时结束。 AngularJS 建议使用 $timeout 作为解决方案,将您的工作排在当前摘要周期之后运行(也等待浏览器完成 DOM 渲染)。

有谁知道如何知道 $scope.$apply()$scope.$digest() 是否在没有使用 $timeout 的情况下结束?

解决方法

您可以在业务逻辑函数之前使用 $scope.$digest()$scope.$apply(function(){/*your business*/}) 但这种方法类似于超时函数。