【问题标题】:How to get a final result from Observable.fromIterable()?如何从 Observable.fromIterable() 获得最终结果?
【发布时间】:2017-03-13 01:43:36
【问题描述】:

我正在从网络获取对象列表。我想将所有对象传递给一个函数,并在所有列表用尽时得到一个结果。

这就是我现在正在做的事情。

Observable.fromIterable(shortLinksList)
            .filter(shortLinkAlreadyExistsPredicate)
            .subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(this::insertLink);

当所有列表都用完时,我怎样才能得到通知?

【问题讨论】:

  • 也许只是实现onComplete

标签: java rx-java observable rx-android


【解决方案1】:

如果您只想获得通知,可以在您的Subscriber 上使用onCompleted
如果您想要一个包含之前发出的所有项目的通知,请使用 toList() 运算符收集从 Observable 发出的所有项目并获得包含对象列表的单个通知。

【讨论】:

  • 实现onCompleted,只调用一次,待所有列表处理完毕。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-17
  • 2016-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-28
  • 2016-07-25
相关资源
最近更新 更多