我正在尝试使用RxJava获得特定的期望行为,但我不知道该怎么做。
我想要变长缓冲区BackPressureStrategy。
I.E。在没有背压的情况下,我的订户会收到所有单独发送的所有元素。当出现背压时,我想获取在上次致电消费者到现在之间发布的所有新元素(作为列表)。
这可能吗?
答案 0 :(得分:0)
您可以使用buffer()
运算符来创建项目列表。运算符的变化允许您设置最大大小或最长收集项目的时间,或者使用第二个可观察的时间触发缓冲区结束。
作为一个极端的例子,您可以创建一个可观察到的控制缓冲区的流控制。例如,使用debounce()
运算符来控制何时发出缓冲区。通读RxJava examples