В чем разница между publish и multicast operator в rxjs 5?
Я читаю руководство rxjs, я немного запутался в том, в чем разница между операторами многоадресной рассылки и публикации. Они кажутся очень похожими.
2 ответа:
У меня был тот же вопрос, когда я читал http://reactivex.io/rxjs/manual/overview.html поэтому, чтобы было понятно,
.publish()
- это просто сокращение для.multicast(new Rx.Subject())
(иpublishBehavior
,publishLast
, иpublishReplay
похожи, но являются экземплярамиBehaviorSubject
,AsyncSubject
иReplaySubject
соответственно).
Они действительно очень похожи, и у них есть история, которая делает ее еще более запутанной.
Проще говоря, publish-это частный случай многоадресной рассылки. публикация всегда создает новую тему (и затем в значительной степени использует многоадресную рассылку), в то время как многоадресная рассылка использует тему, предоставленную в качестве аргумента.