将BehaviorSubject订阅到Observable,但忽略错误并终止

时间:2018-06-14 12:20:28

标签: rxjs reactivex

我的应用程序中有各种类使用BehaviorSubject

有时,我想从服务器向其发布新数据。我试着这样做:

const subject = new BehaviorSubject<Entity>(undefined);

loadDataFromServer().subscribe(subject);

loadDataFromServer()函数返回Observable<Entity>,在订阅时会发出一个Entity,然后结束。

通过这样的实现,BehaviorSubject也将在observable终止时终止。但是,我想避免这种情况。

当然,我可以这样做:

loadDataFromServer().subscribe(entity => subject.next(entity));

但是,我想知道,是否有其他选项可以从源observable中过滤掉错误和终止事件?或者这是最佳方式吗?

1 个答案:

答案 0 :(得分:1)

我认为你所做的很好,也许是最简单的方法。但是,如果您想对运算符执行此操作,则可以使用contentView.bottomAnchor.constraint(equalTo: safeBottomAnchor).isActive = true materialize()。这会首先将每个排放转换为特殊的dematerialize()对象(所有通知都将被包装并以Notification形式发送),您可以过滤除next个通知之外的所有内容,然后使用{{1}将它们转换回实际排放量

next