今天发现一个有趣的现象,这里先说结论
RxJava的retryWhen操作符会影响上游,而不会影响下游,比如下游发生了异常,不会重试,而上游发生了异常,会重试retryWhen指定的次数
思考一下就能知道原因,因为订阅是从下到上订阅,而数据流是从上到下流动,所以retryWhen返回的Observable发现上流的数据有异常的时候会重试,没有异常了就流给下游,所以retryWhen只能控制它所在的上游
RxJava中的retryWhen操作符的影响范围
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 原文链接: RxJava's repeatWhen and retryWhen, explained原文作者: D...
- 怎么如此平静, 感觉像是走错了片场.为什么呢, 因为上下游工作在同一个线程呀骚年们! 这个时候上游每次调用emit...