top | item 4114418

(no title)

mhansen | 13 years ago

Yes, it polls. Most functions are quite fast, and fine to just poll, and it's quite convenient to be able to bind to functions when needed.

But it's all tradeoffs - in our app we have a few that aren't - for those, we profiled to find them, and added a bit of code to the functions to cache the return value.

discuss

order

vojtajina|13 years ago

I wouldn't call it polling.

Angular does dirty checking at the right moment.

After you bootstrap your app, nothing happens, unless: - user interacts (DOM event is fired) - response from server is back (xhr callback) - setTimeout fires - couple of other minor async stuff

So you only need to dirty check when some of these events occur and that's exactly what Angular does. Check out scope.$digest method, that's where all this stuff happens.

atjoslin|13 years ago

It doesn't poll, actually.

mhansen|13 years ago

Sorry, what I meant is that when the application rerenders (digesting changes that have been made) it will re-evaluate the function to check if the result has changed.

Polling the function for changes, contrast with how e.g. knockout.js pushes changes. (I could be wrong, please let me know if my understanding's not reality)