我有从Web插座传入的消息。它们包括对某些对象的状态更改让我们命名这些状态a,b,c
消息:AAbCC
我只对最后一个状态感兴趣,只有一段时间后才感兴趣与此类消息有关的WS无活动。所以,以某种方式将它们排队,经过一些不活动(1000ms)的行动最后(a)消息(最后一条消息之前的任何消息都不感兴趣)。我将如何使用Rxandroid实施它?(我已经连接了Retrolambda,并且都与RX有关,也有几种方法来处理一些异步内容)
我想在您的情况下最好使用.sample()
而不是.debounce()
Observable<Message> debouncedStream = messageObservable
.samlpe(1 , TimeUnit.Seconds);
请参阅差异样本
您可以根据其类型过滤消息,然后进行调试:
Observable<Message> debouncedStream = messageObservable
.filter(message -> message.getType().equals("A"))
.debounce(1 , TimeUnit.Seconds);