2015-11-10 10 views
11

Я немного смущен, потому что Obejct.observe is said to be withdrawn from the ES2016.Object.общественный вывод и RxJS и Angular 2

С другой стороны, были talks on Angular Connect, в которых упоминается, что они будут полагаться на него.

Так, насколько я понимаю, Угловое 2 не зависит от Object.observe напрямую, а на RxJS, которые делают использование Object.observe

Можете ли вы помочь мне понять последствия этого вывода? Я также смущен, как это повлияет на функциональную реактивную разработку javascript.

Извините, если это глупый вопрос, но все эти понятия для меня очень новы.

+3

'Object.observe' не имеет абсолютно никакого отношения к [' Observables'] (https://github.com/ReactiveX/RxJS), имена могут вводить в заблуждение, но они даже не связаны. –

+0

И вы не единственный, кто смутился, посмотрите этот вопрос [https://github.com/angular/angular/issues/5119), там у вас есть ответ для основного члена команды. –

+0

Я думал, что Angular 2 использует Object.observe с polyfill https://docs.google.com/document/d/10W46qDNO8Dl0Uye3QX0oUDPYAwaPl0qNy73TVLjd1WI/edit – fernando

ответ

4

RxJS не полагается на Object.observe (и afaik не собирался этого делать в будущем), поскольку RxJS не имеет концепции наблюдаемых объектов сам по себе (вы можете создавать объекты с наблюдаемыми потоками как значения хоть).

Для углового объекта Object.observe было бы актуальным, но оно не полагалось на него, но я думаю (или, по крайней мере, не внешний хром).

В любом случае, если вам понадобятся наблюдаемые объекты, которые по-прежнему возможны с помощью библиотеки Mobservable, как описано в этом blogpost.

0

FYI .... v4.1.0 имеет некоторую зависимость от Object.observe при использовании Rx.Observable.ofObjectChanges (объект) ...

Попробуй себя в хроме, которая теперь удалена поддержка ОО, если вы используете этот метод для создания наблюдаемого, вы получите ошибку OO.

Таким образом, да, OO не имеет ничего общего с Observables в контексте RxJS, OO используется в 4.1.0, который является стабильным в настоящее время и все же должен быть реализован в 5.XX (который, я думаю, задерживается к переключателю на Proxy).

Так что если вы хотите использовать потоки и шаблон Rx, тогда никаких проблем, если вы хотите использовать RxJS для наблюдения за объектом, извините, вам придется полилизовать прокси-сервер и использовать его, поскольку из ObjectChanges разрывается ATM для стабилизации хрома.