RxJavaRxJava系列专题(Android方向)

RxJava2 中容易混淆的函数

2017-07-05  本文已影响738人  兰兰笑笑生

原文链接

create()、defer()、fromCallable()、fromFuture()

interval()、timer()、delay()

flatMap()、map()

flatMap和map操作符很相像,flatMap发送的是合并后的Observables,map操作符发送的是应用函数后返回的结果集,也可以通俗地理解为flatMap用于转化Obserable,而map用于转化结果。

merge()、concat()、amb()、zip()

concatMap()、switchMap()

repeat()、repeatWhen()、repeatUtil()

retry()、retryWhen()、retryUtil()

repeat()、retry()这些只能控制重新的次数,repeatUtil()、retryUtil()可以控制要不要重试,但是这些重新订阅都是Rxjava自动操作的,也就是你不能再改变订阅后的行为。比如如果你要实现一个延迟数秒的重订阅该如何去做?或者想通过观察错误来决定是否应该重订阅呢?这种情况下就需要.repeatWhen()和.retryWhen();

takeUtil()、skipUtil()

takeWhile()、skipWhile()

参考

上一篇下一篇

猜你喜欢

热点阅读