2014-04-16 20 views
24

Sự khác biệt là gì? Khi nào tôi nên sử dụng? Tôi mới đến Angular & họ trông rất giống với tôi. Tôi thà làm theo các thực hành tốt nhất ngay từ đầu.

Trả lời

56

$interval thực hiện gọi lại nhiều lần, trong khi $timeout chỉ đơn giản trì hoãn thực thi gọi lại (không lặp lại). Vì vậy, không, chúng không giống nhau. Ngoài ra, cần lưu ý rằng cả hai đều là trình bao bọc cho lần lượt là window.setIntervalwindow.setTimeout.

Tôi cũng muốn khuyên bạn nên đọc this great article được viết bởi John Resig về cách hoạt động của bộ tính giờ Javascript.

3

Dưới đây là một số thông tin chiết xuất từ ​​djvirgen's đối phó với a similar Reddit question:

Bạn nên luôn luôn được sử dụng $ timeout trong các ứng dụng kiễu góc. Đây là lý do:

  • Nó có thể tiêm, giúp việc kiểm tra dễ dàng hơn với ngMock.
  • Nó chạy thông báo để đảm bảo chế độ xem của bạn được cập nhật.
  • Điều này là có thể xảy ra (nó cũng là một lời hứa).

Tuy nhiên, nếu bạn không muốn thông báo chạy, bạn có thể chỉ cần chuyển sai làm đối số thứ ba.

Tôi đoán là $ interval có lợi thế tương tự.

Các vấn đề liên quan