Я думаю, что это хорошее введение в реактивное программирование.

ичок в Angular, и у руководства, которому я следовал, есть термин "Observable"Репетитор объяснил это, но я не совсем понял.

Что такоеObservableи почему мы всегда должны звонитьobservable.subscribe()?

Что значитsubscribe() на самом деле делать?

 jonrsharpe16 окт. 2017 г., 12:30
 dfour16 окт. 2017 г., 12:38
 yivi17 окт. 2017 г., 10:55

Ответы на вопрос(2)

Решение Вопроса
Что такоеObservable?

уществовать (или нет) и могут меняться со временем (или нет).

Observable испускает данные до тех пор, пока ему больше нечего выдавать, а затем завершает (есть некоторые Observable, которые никогда не завершатся) или выдает исключение (обработка ошибок является большой частьюObservable комбинация).

Вы можете комбинировать эти источники данных или изменять передаваемые данные, используя такие операторы, какmap, merge, switchMapи т. д. Таким образом, источник данных может быть изменением другого источника данных или сочетанием многих других.

Как я уже сказал,Observable является источником, если вы хотите использовать данные из этого источника, вам нужноsubscribe() кObservable и тогда вы получите уведомление о любых данных.

Горячий против ХолодногоObservable

Существует два вида наблюдаемых: холодные и горячие.

Холодные НаблюдаемыеЭто Observables, которые не генерируют данные, пока вы не подпишетесь на них, в основном, данных не существует, пока вы не запросите их (например, запросы Ajax).Горячие Наблюдаемые Они начинают излучать, не заботясь о том, есть ли подписчик в ожидании данных.

Большую часть времени вам приходится иметь дело с холодными Observables (запросы AJAX),вот почему вы должны подписаться на нихбез этой подписки вы только определяете источник данных, а затем никогда не запускаете запрос.

Итак, давайте подумаем оObservable с метафорой видео:

ХолодObservable как услуга VOD: видео транслируется, когда вы просите об этом (subscribe()).ГорячаяObservable это как обычное телевидение: видео транслируется без учета того, что кто-то просит об этом или нет.ConnectableObservable: потеплениеObservables

Какая?ConnectableObservable? Вы сказали, что существует только два вида наблюдаемых. Ты лжец!

На самом деле, нет;ConnectableObservableсObservables, которые излучают данные, как только вы вызываете ихconnect() метод. Другими словами, эта наблюдаемая становится горячей, как только вы вызываетеconnect() метод.

Вы можете простудитьсяObservable вConnectableObservable используя некоторые операторы (например,publish()).

б обработки асинхронного потока. И Angular это использует.

Так что вам нужно узнать, как работает Реактивное Программирование. Слишком сложно объяснить это в одном ответе, но у вас много информации о rxjs.

Одним из первых, что я прочитал, является этот постВведение в реактивное программирование, которое вы пропустилиЯ думаю, что это хорошее введение в реактивное программирование.

Ваш ответ на вопрос