Deps.autorun, teraz Tracker.autorun jest reaktywnym blokiem obliczeniowym. Podczas gdy ObserveChanges zapewnia wywołanie zwrotne, gdy coś się zmieni.
Kiedy używasz Deps.autorun, cały blok w function() {...}
, zostanie ponownie uruchomiony za każdym razem, gdy zmienna reaktywna lub dokument zmieni się w jakikolwiek sposób (zaktualizowany, usunięty lub wstawiony) lub jakakolwiek inna zmiana reaktywnej zmiennej.
Wywołania zwrotne ObserveChanges są bardziej precyzyjnie dostrojone i uruchamiają wywołania zwrotne w celu dodania, zmiany lub usunięcia w zależności od zapytania.
Opierając się na powyższym kodzie, w efekcie oba są takie same. Jeśli masz więcej reaktywnych zmiennych w bloku Deps.autorun, to observeChanges
sposób na zrobienie tego byłby bardziej wydajny.
Ogólnie rzecz biorąc, pierwszy styl jest bardziej wydajny, ale ponieważ kod znajduje się powyżej, oba są prawie takie same i zależy to od Twoich preferencji.