也许我忽略了一个简单的运算符组合(或者RxJava的固有取消行为)。但是假设我有一个热的可观察selectedItem
平面映射到RxJava-JDBC查询。
@Test
public void testFlatMapBackPressure() {
Database db = null; //assign db
BehaviorSubject<Integer> selectedItem = BehaviorSubject.create();
//can I backpressure the queries so only the latest one is running, and any previous is cancelled?
Observable<List<Integer>> currentValues = selectedItem.flatMap(i -> db.select("SELECT VALUE FROM MY_TABLE WHERE ID =?")
.parameter(i)
.getAs(Integer.class)
.toList());
}
如何对flatMap()
运算符进行反压,以便它始终只执行最新的查询(并取消之前的任何查询)。我有点想要一个背压平面运算符来做这样的事情,其中&#34; X&#34;表示取消上一个查询
有没有办法实现这个目标?或者它可以完成,我只是没有看到它?