Object.observe снятия и RxJS и Angular 2

Я немного сбит с толку, потому что, как говорят, Obejct.observe снят с ES2016.

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

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

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

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

2 ответа

Решение

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

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

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

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

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

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

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

Другие вопросы по тегам