docs(CHANGELOG.md): add missing breaking change from 1.3.0-beta.14

Closes #8474
This commit is contained in:
Caitlin Potter
2014-08-04 17:22:50 -04:00
parent 947532828e
commit acf38b382b

View File

@@ -622,6 +622,36 @@ Closes #3969
Closes #4277
Closes #7960
- **$timeout/$interval:**
- due to [19b6b343](https://github.com/angular/angular.js/commit/19b6b3433ae9f8523cbc72ae97dbcf0c06960148)
Previously, even if invokeApply was set to false, a $rootScope digest would occur during promise
resolution. This is no longer the case, as promises returned from $timeout and $interval will no
longer trigger $evalAsync (which in turn causes a $digest) if `invokeApply` is false.
Workarounds include manually triggering $scope.$apply(), or returning $q.defer().promise from a
promise callback, and resolving or rejecting it when appropriate.
var interval = $interval(function() {
if (someRequirementFulfilled) {
$interval.cancel(interval);
$scope.$apply();
}
}, 100, 0, false);
or:
var interval = $interval(function (idx) {
// make the magic happen
}, 1000, 10, false);
interval.then(function(idx) {
var deferred = $q.defer();
// do the asynchronous magic --- $evalAsync will cause a digest and cause
// bindings to update.
return deferred.promise;
});
<a name="1.2.19"></a>
# 1.2.19 precognitive-flashbacks (2014-06-30)