簡體   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