如何对 Observable 进行分组,并从每个 GroupedObservable 仅将最后发出的项目保留在内存中?这样每个组的行为就像 BehaviorSubject 一样。
像这样的东西:
{user: 1, msg: "Anyone here?"}
{user: 2, msg: "Hi"}
{user: 2, msg: "How are you?"}
{user: 1, msg: "Hello"}
{user: 1, msg: "Good"}
所以在内存中,我们只有每个的最后一项user
:
{user: 2, msg: "How are you?"}
{user: 1, msg: "Good"}
当订阅者订阅时,这两个项目会立即发布(每个项目都有自己的发射)。就像我们每个 BehaviorSubject 一样user
。
onCompleted() 永远不会被触发,因为人们可能会永远聊天。
我事先不知道user
可以有什么价值。