Ответ Пола в значительной степени прибивает его.Однако стоит добавить несколько вещей:
AsyncSubject работает, как говорит Пол, но только после завершения source .До этого он работал как Subject
(где подписчики получают «живые» значения)
AsyncSubject изменился с тех пор, как я в последний раз выполнял тесты для него.Он больше не действует как живой объект до завершения, но ожидает завершения, прежде чем он выдаст значение.И, как упоминает Сергей, он возвращает последнее значение, а не первое (хотя я должен был это понять, как это всегда было)
AsyncSubject используется Prune
, FromAsyncPattern
, ToAsync
и, возможно, несколько других
BehaviorSubject используется перегрузками Publish
, которые принимают начальное значение
ReplaySubject используется Replay
ПРИМЕЧАНИЕ. Все ссылки на операторы, приведенные выше, относятся к набору операторов публикации, каким они были до замены на обобщенные операторы публикации в Rev 2838 (Christmas '10), посколькубыло упомянуто, что оригинальные операторы будут повторно добавлены