2014-04-16 19 views
24

Jaka jest różnica? Kiedy powinienem użyć którego? Jestem nowy w Angular & wyglądają bardzo podobnie do mnie. Od samego początku wolałbym stosować najlepsze praktyki.

Odpowiedz

56

$interval wykonuje wywołanie zwrotne wielokrotnie, a $timeout po prostu opóźnia wykonanie wywołania zwrotnego (nie jest powtarzane). Więc nie, oni nie są tacy sami. Dodatkowo należy zauważyć, że oba z nich są opakowaniami odpowiednio dla window.setInterval i window.setTimeout.

Chciałbym również polecić przeczytanie this great article napisanego przez Johna Resiga o działaniu liczników Javascript.

3

Oto kilka informacji pochodzących z djvirgen's odpowiedzi na a similar Reddit question:

Zawsze należy używać $ limit czasu w kątowe aplikacji. Oto dlaczego:

  • Jest wstrzykiwany, dzięki czemu testowanie jest łatwiejsze dzięki narzędziu ngMock.
  • Wykonuje podsumowanie, aby upewnić się, że widok jest aktualizowany.
  • Jest on dostępny (to także obietnica).

Jeśli jednak nie chcesz, aby podsumowanie zostało uruchomione, możesz po prostu przekazać wartość false jako trzeci argument.

Domyślam się, że $ przedział ma podobne zalety.