Vasaka
Vasaka

Reputation: 589

$interval's invokeApply parameter does not change anything

From the angular's documentation of $interval service:

invokeApply (optional) boolean: If set to false skips model dirty checking, otherwise will invoke fn within the $apply block.

Which can lead us to a conclusion that $rootScope.$apply wouldn't be called if I set invokeApply as false.

However, from the source of $interval I learned that deferred.notify is called each tick, which makes sense. What does not, is the fact that during deferred.notify execution $rootScope.$evalAsync is called, which in order calls $rootScope.$digest. So all the dirty checking still happens. Am I missing something here?

Upvotes: 8

Views: 635

Answers (1)

DrogoNevets
DrogoNevets

Reputation: 1575

Bug already filed!

https://github.com/angular/angular.js/pull/5903

You are missing nothing

Upvotes: 1

Related Questions