Rx.Subject.create(наблюдатель, наблюдаемый) путаница

В документации по API говорится

Аргументы

  1. наблюдатель (наблюдатель): наблюдатель, используемый для отправки сообщений субъекту.
  2. наблюдаемый (Observable): наблюдаемый, используемый для подписки на сообщения, отправленные субъектом.

Но не является ли концепция обратной в том смысле, что наблюдатель должен получать/обрабатывать сообщения, испускаемые субъектом, а наблюдаемое — это то, на что субъект будет подписан? Документ API и документ начало работы с темами не кажутся последовательными.


person solstice333    schedule 11.06.2017    source источник


Ответы (1)


Здесь уже дан ответ на ваш вопрос: Темы, созданные с помощью Subject.create, могут не отписываться

Subject.create — это статический метод, который просто соединяет Observable с наблюдателем. Ни один экземпляр Subject не задействован.

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

Также см:

person martin    schedule 12.06.2017
comment
Хорошо, звучит достаточно просто, но если Subject.create() просто соединяет данный Observable с данным Observer, почему документ API для аргументов Subject.create() даже упоминает объект субъекта как своего рода прокси? И почему Observer упоминается как отправляющий сообщения, а Observable как подписавшийся на сообщения? Документ просто неправильный? - person solstice333; 13.06.2017
comment
@solstice333 Solstice333 Вы имеете в виду RxJS 4, который устарел. То, что я здесь написал, относится к RxJS 5. - person martin; 13.06.2017