Tôi đã nghe từ nhiều ng-loa khác nhau như thế nào $ xem là nguy hiểm cho hiệu suất của ứng dụng của bạn. Tôi đã tự hỏi nếu có ai đã so sánh hiệu suất của Rxjs 'Observable với đồng hồ $ trong một ứng dụng AngularJS. Tôi biết rằng các Đài quan sát sẽ là một phần của Angular 2.
Trả lời
Hai cơ chế quan sát các thay đổi vốn đã khác nhau.
$watch
là sức mạnh vũ phu, cơ chế dựa trên kéo. Trường hợp người quan sát đang hoạt động và (nói chung) cần truy cập vào từng đối tượng/biểu hiện được quan sát sau khi có bất kỳ thay đổi nào xảy ra. Chắc chắn càng nhiều để quan sát toàn bộ quá trình chậm hơn.
Observable
triển khai cơ chế dựa trên đẩy. Observer là thụ động và được thông báo khi có gì đó thay đổi. Việc triển khai đúng cách nó cho phép truyền bá nhiều thay đổi thông minh hơn nhiều.
Từ những gì tôi biết, sử dụng Observable
s ở góc 2.0 là không bắt buộc, nhưng khuyên. Hơn nữa, góc 2.0 sẽ thực hiện luồng dữ liệu một hướng tương tự như flux. Thay đổi dữ liệu truyền chỉ xuống dưới trong DOM - một thành phần có thể trực tiếp quan sát/phụ thuộc vào dữ liệu của tổ tiên của chúng chứ không phải con cháu của chúng. Sau khi thay đổi, có một sự đảm bảo rằng chỉ một số subtree của DOM cần cập nhật. Trong hầu hết các trường hợp, cây con này sẽ nhỏ hơn nhiều so với toàn bộ DOM.
Có a great video từ điểm chuẩn ng-conf 2015 góc 1x, phản ứng và góc 2.0. (không chắc chắn nếu nó sử dụng quan sát mặc dù)
Một điều cuối cùng về Observable
: nó cung cấp cách hơn mô tả ở trên và nó là một cách tuyệt vời để đối phó với những sự kiện không đồng bộ.
- 1. RxJs Có thể quan sát được so với
- 2. AngularJs - RXJS Hủy đăng ký quan sát
- 3. Chaining quan sát trong RxJS
- 4. Làm thế nào để tạo đồng hồ đếm ngược với RxJS Observables?
- 5. Quan sát được.thay thế thay thế trong rxjs 5.5.2
- 6. angular2 rxjs forkjoin quan sát
- 7. Góc 2 rxjs lồng nhau Quan sát
- 8. Làm thế nào để trả về một thể quan sát được sản phẩm nào trong rxjs
- 9. lỗi ném bên rxjs Quan sát
- 10. Mẫu quan sát cho đồng hồ bấm giờ
- 11. Làm thế nào để hủy đăng ký từ một RxJS 5 quan sát được?
- 12. Quan sát 2 rxjs được tạo từ BehaviorSubject không hoạt động với forkJoin
- 13. RxJS: Làm cách nào để "cập nhật thủ công" một Quan sát được?
- 14. làm thế nào có thể bắt đầu và dừng một khoảng thời gian quan sát được trong RXJS?
- 15. RxJs Tạo quan sát từ kết quả Hứa hẹn
- 16. Bộ lọc đơn giản trên mảng RXJS Quan sát
- 17. Bắt RxJS ** và ** thử lại một Quan sát
- 18. RxJS phân chia chuỗi quan sát được trong nhiều đầu ra
- 19. RxJS - lấy n thành phần cuối cùng từ một quan sát được
- 20. rxjs quan sát được không hoàn thành khi xảy ra lỗi
- 21. Chỉ thị Angularjs loại bỏ đồng hồ?
- 22. Rxjs quan sát các cập nhật và thay đổi đối tượng
- 23. Thiếu phương pháp thể quan sát được RxJS 5.0.0-beta.0
- 24. Làm thế nào để lấy dữ liệu từ quan sát được trong angular2
- 25. Quan sát viên so với số gọi lại
- 26. Các luồng Node.js so với các Quan sát
- 27. Ngay lập tức hủy đăng ký khỏi các rxjs có thể quan sát được
- 28. AngularJS chỉ thị đồng hồ mẹ thay đổi kích thước
- 29. RXJava - chạy nhiều quan sát cái khác (như concat, nhưng với onCompleted cho mỗi thể quan sát được)
- 30. Mẫu quan sát trừu tượng so với giao diện
Tôi cũng muốn biết thêm về điều đó – Ant