【DevTips】使用最相符的 Rx 流

如果你在盲目地使用 Observable,那么需要注意下,Rx 里的流也是很多类型的:

  • Flowable
  • Observable
  • Single
  • Maybe
  • Completable

如果你需要对外提供 API,准确地,对外提供一些方法,那么准确地使用跟业务场景最相符的 Rx 流,能有效地减少调用方的学习成本,降低出错几率。

具体地:

  • 使用 Flowable,如果你需要支持 back pressure,也就是说,你上游的数据可能会发射非常频繁,而下游可能会处理不过来;
  • 使用 Observable,如果你的上游可能不太频繁地发射多次数据,下游都能处理过来;
  • 使用 Single,以表示上游的操作只有两种结果:成功和异常;一个例子是,发起网络请求,并返回 Response。
  • 使用 Maybe,以表示上游的操作可能成功,可能发生异常,又或者没有结果;
  • 使用 Completable,以表示上游执行的任务只会完成(没有返回结果),或者发送异常。