我有来自网络套接字的消息。 它们包括对某些对象的状态更改 我们将这些状态命名为A,B,C
消息: 一个 一个 乙 C C 甲
我只对最后一个州(A)感兴趣,并且仅在一段时间后感兴趣 对与此类消息相关的ws没有任何活动。所以,以某种方式 将它们排队,并在一些不活动(1000ms)后对其进行操作 最后一条(A)消息(最后一条消息之前的任何消息都不感兴趣)。 我如何使用RxAndroid实现它? (我已经连接了Retrolambda和所有与Rx有关的,也有 有几种方法可以处理一些异步的东西)
答案 0 :(得分:1)
我认为在您的情况下,最好使用.sample()
代替.debounce()
Observable<Message> debouncedStream = messageObservable
.samlpe(1 , TimeUnit.Seconds);
答案 1 :(得分:0)
您可以根据消息类型过滤消息,然后去抖动:
Observable<Message> debouncedStream = messageObservable
.filter(message -> message.getType().equals("A"))
.debounce(1 , TimeUnit.Seconds);