RxAndroid消息队列超时

RxAndroid消息队列超时,android,timeout,queue,rx-java,rx-android,Android,Timeout,Queue,Rx Java,Rx Android,我有来自web套接字的消息。 它们包括对某些对象的状态更改 让我们把这些状态命名为A、B、C 信息: A. A. B C C A 我只对最后一种状态(A)感兴趣,而且只在一段时间之后才感兴趣 ws上没有与此类型消息相关的活动。所以,不知何故 将他们排成一列,在不活动(1000毫秒)后,对其采取行动 最后一条消息(最后一条消息之前的任何消息都不感兴趣)。 如何使用RxAndroid实现它? (我已经连接了Retrolambda和所有与Rx相关的,也有 有两种方法可以处理一些异步内容)您可以根据消息

我有来自web套接字的消息。 它们包括对某些对象的状态更改 让我们把这些状态命名为A、B、C

信息: A. A. B C C A

我只对最后一种状态(A)感兴趣,而且只在一段时间之后才感兴趣 ws上没有与此类型消息相关的活动。所以,不知何故 将他们排成一列,在不活动(1000毫秒)后,对其采取行动 最后一条消息(最后一条消息之前的任何消息都不感兴趣)。 如何使用RxAndroid实现它? (我已经连接了Retrolambda和所有与Rx相关的,也有
有两种方法可以处理一些异步内容)

您可以根据消息的类型过滤消息,然后进行去盎司处理:

 Observable<Message> debouncedStream = messageObservable
.filter(message -> message.getType().equals("A"))
.debounce(1 , TimeUnit.Seconds);
Observable debouncedStream=messageObservable
.filter(message->message.getType().equals(“A”))
.去盎司(1,时间单位为秒);

我想在您的情况下,最好使用
.sample()
而不是
.debounce()

Observable debouncedStream=messageObservable
.samlpe(1,时间单位秒);

看到差异后

可以尝试对消息A的可观察性进行
debounce()
?Tnx的操作员,但一点代码将帮助更多对不起,我在赶时间,想帮助至少有一个快速参考的东西,可能会帮助你。如果没有帮助就道歉。没有必要道歉,这在某种程度上是有帮助的。我只在某种程度上熟悉RX,所以,代码说明:)实际上我不想过滤它们,我会在进入RX之前对它们进行预过滤。我只想在没有新消息到达后使用最后一个。
Observable<Message> debouncedStream = messageObservable
    .samlpe(1 , TimeUnit.Seconds);