Подтвердить что ты не робот

Что такое место RxJS в экосистеме JS и эволюция?

Чтобы быть ясным, я надеюсь, что фактическая информация будет представлена ​​о RxJS и как она связана с эволюцией JavaScript, а не с мнением о том, насколько хороши RxJS и т.д.

Мой вопрос: есть ли RxJS (https://github.com/Reactive-Extensions/RxJS) нечто вроде перспективного polyfill из-за объекта .observe и т.д., не являясь стандартом среди браузеров, или же он принципиально предлагает вещи, выходящие за рамки того, что предлагает родной JS, и помимо того, что стандарты JS стремятся предложить в обозримом будущем? (Конечно, возможно, когда-нибудь родной JS может быть способен X, Y, Z, которые в настоящее время не находятся на радаре, я не заинтересован в догадках на них.) Возможно, это комбо.

Моя мотивация/интерес к вопросу заключается в рассмотрении инвестиций в обучение и внедрение RxJS в приложениях, сопоставимых с временной шкалой доступных на практике JS-решений и/или есть ли другие соображения, которые следует упомянуть, что я не коснулся здесь.

4b9b3361

Ответ 1

RxJS был рожден как порт JavaScript Rx.NET. Это не прогноз polyfill Object.observe.

RxJs - это библиотека для работы с асинхронными операциями с особым акцентом на многозначные операции. Библиотека дает разработчику общий "язык", который они могут использовать для написания функционального кода для управления асинхронными потоками независимо от источника потока. Один и тот же "язык" работает с любой комбинацией событий пользовательского интерфейса, событий таймера, наблюдений за мутацией объектов, кадров анимации, вызовов ajax, сообщений websocket, сообщений веб-мастеров, promises и т.д.

Object.observe - это механизм наблюдения изменений в объекте. RxJS не предоставляет эту функцию. Но RxJS дополняет эту функциональность: поскольку объект изменяется со временем, его можно рассматривать как источник асинхронных уведомлений об изменении объектов. Довольно просто преобразовать эти наблюдения в источник RxJS (например, что-то вроде Rx.Observable.observeObject(someObject)), что позволит вам работать с объектными изменениями как просто еще один асинхронный поток RxJs со всем огромным набором инструментов RxJS. вам.

Ответ 2

RxJs - это библиотека, которая помогает нам выполнять интерактивное программирование.

Реактивное программирование - это образец разработки, который работает с асинхронным потоком данных, созданным из событий пользовательского интерфейса, запросов HTTP, файловой системы, кеша и т.д. Таким образом, поток данных является непрерывной последовательностью событий во времени упорядоченным образом. Поток может испускать значение, ошибку и сигнал состояния.

Наблюдаемые должны наблюдать за этими потоками и запускать функцию, когда что-либо происходит в потоке. Наблюдатели могут подписаться на наблюдаемые.

Ref- http://technobelities.blogspot.in/2017/02/rxjs-quick-start.html

В соответствии с MSDN - Reactive Extensions (Rx) - это библиотека для составления асинхронных и основанных на событиях программ с использованием наблюдаемых последовательностей и операторов запросов типа LINQ. Реактивные расширения представляют собой все эти последовательности данных в качестве наблюдаемых последовательностей. Приложение может подписаться на эти наблюдаемые последовательности для получения асинхронных уведомлений по мере поступления новых данных.