mirror of
https://github.com/Hopiu/angular.js.git
synced 2026-03-27 11:40:27 +00:00
This change causes a new $digest to be scheduled in the next tick if a task was was sent to the $evalAsync queue from outside of a $digest or an $apply. While this mode of operation is not common for most of the user code, this change means that $q promises that utilze $evalAsync queue to guarantee asynchronicity of promise apis will now also resolve outside of a $digest, which turned out to be a big pain point for some developers. The implementation ensures that we don't do more work than needed and that we coalese as much work as possible into a single $digest. The use of $browser instead of setTimeout ensures that we can mock out and control the scheduling of "auto-flush", which should in theory allow all of the existing code and tests to work without negative side-effects. Closes #3539 Closes #2438 |
||
|---|---|---|
| .. | ||
| directive | ||
| filter | ||
| anchorScroll.js | ||
| animate.js | ||
| browser.js | ||
| cacheFactory.js | ||
| compile.js | ||
| controller.js | ||
| document.js | ||
| exceptionHandler.js | ||
| filter.js | ||
| http.js | ||
| httpBackend.js | ||
| interpolate.js | ||
| locale.js | ||
| location.js | ||
| log.js | ||
| parse.js | ||
| q.js | ||
| rootElement.js | ||
| rootScope.js | ||
| sce.js | ||
| sniffer.js | ||
| timeout.js | ||
| urlUtils.js | ||
| window.js | ||