2015-11-10 35 views
11

Jestem nieco zdezorientowany, ponieważ Obejct.observe is said to be withdrawn from the ES2016.Object.observe wycofanie i RxJS i Angular 2

Z drugiej strony były talks on Angular Connect, które wspominają, że będą na nim polegać.

Więc jak daleko rozumiem kątowa 2 nie opiera się na Object.observe bezpośrednio, ale na RxJS których należy używać Object.observe

Czy możesz mi pomóc zrozumieć skutków tego wycofania? Jestem również zdezorientowany, jak to wpłynie na funkcjonalny reaktywny rozwój javascript.

Przepraszam, jeśli to głupie pytanie, ale wszystkie te koncepcje są dla mnie naprawdę nowe.

+3

'Object.observe' nie ma absolutnie nic wspólnego z [' Observables'] (https://github.com/ReactiveX/RxJS), nazwy mogą być mylące, ale nie są nawet powiązane. –

+0

I nie tylko ty jesteś zdezorientowany, patrz ten [problem] (https://github.com/angular/angular/issues/5119), tam masz odpowiedź dla głównego członka zespołu. –

+0

Myślałem, że Angular 2 używa Object.observe z polyfill https://docs.google.com/document/d/10W46qDNO8Dl0Uye3QX0oUDPYAwaPl0qNy73TVLjd1WI/edit – fernando

Odpowiedz

4

RxJS nie polega na Object.observe (i Afaik nie zamierzał tego robić w przyszłości), ponieważ RxJS nie ma pojęcia obiektów obserwowalnych w sobie (można tworzyć obiekty z obserwowalnymi strumieniami jako wartościami chociaż).

Dla kątowego obiektu Object.observe byłaby istotna, ale nie polegała na tym jeszcze myślę (a przynajmniej nie na chromie).

W każdym razie, jeśli potrzebujesz obserwowalnych obiektów, jest to nadal możliwe dzięki bibliotece Mobservable, jak wyjaśniono w tej blogpost.

0

FYI .... v4.1.0 ma jakąś zależność Object.observe podczas korzystania Rx.Observable.ofObjectChanges (obj) ...

testowy to sam w chromie, który teraz usunięto obsługę oo jeśli użyjesz tej metody do utworzenia obserwowalnego, otrzymasz błąd OO.

Tak więc o ile tak, OO nie ma nic wspólnego z Observables w kontekście RxJS, OO jest używane w wersji 4.1.0, która jest aktualna stabilna i jeszcze wdrożona w 5.XX (co, jak sądzę, opóźnienie jest należne do przełącznika na Proxy).

Więc jeśli chcesz używać strumieni i wzorca Rx, to nie ma problemu, jeśli chcesz używać RxJS do obserwowania obiektu, przepraszam, będziesz musiał polyfillować Proxy i użyć, że jako ofObjectChanges jest zepsuty bankomat dla stabilnego chrome.