根据Reactive,一个 Subject 可以同时充当 Observable 和 Observer。
Subject 是一种桥接器或代理,在 ReactiveX 的某些实现中可用,它既充当观察者又充当 Observable。因为它是一个观察者,它可以订阅一个或多个 Observable,并且因为它是一个 Observable,它可以通过重新发送它们来传递它观察到的项目,它也可以发射新的项目。
有四种类型的主题 :
主题 | 描述 |
---|---|
Publish Subject | 仅发出订阅后发出的项目。 |
Replay Subject | 发射源 Observable 发射的所有项目,无论它何时订阅了 Observable。 |
Behavior Subject | 订阅后,发出最新的项目,然后继续发出源 Observable 发出的项目。 |
Async Subject | 在源 Observable 完成发射后发射最后一个项目。 |