繁体   English   中英

如何为 RxJava 中的某些项目添加延迟

[英]How to add delay for some items in RxJava

我想实现一个 RxChain 用于以下目的:

一个可观察的源发出两种类型的数据(S,E)。 现在我想要一个可观察/可流动的,它将立即发出所有的 S,但如果同时没有 S 出现,它应该在 E 的第一次发射后的给定延迟(10 秒)后发出最新的 E。

在此处输入图像描述

与其让 1 个可观察源同时发射 S 和 E,不如将它们拆分为 2 个可观察源,在“E 流”上添加一个throttleLast 10s,然后将它们合并在一起

例如

Observable<String> sStream = source.filter(x -> x.type == Types.S);
Observable<String> eStream = source.filter(x -> x.type == Types.E).throttleLast(10, TimeUnit.SECONDS);


Observable.merge(sStream, eStream).subscribe(...);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM