RxJava-在可观察链中执行peek()或void操作?
Java8Lambda流有一个RxJava-在可观察链中执行peek()或void操作?,java,reactive-programming,rx-java,Java,Reactive Programming,Rx Java,Java8Lambda流有一个peek()操作符,允许您对每个项执行一个void操作。这通常用于调试,但它也是一种很好的方法,可以在不映射到某个对象的情况下欺骗并启动一个void操作 RxJava中是否有与此等效的版本?也许我没有遵循一个好的实践或思考不够积极。。。但是在操作前后创建状态标签真的很方便吗?如果不支持peek(),是否有更好的模式可以遵循 Observable<Item> Item= ...; Label statusLabel = new Label(); Labe
peek()
操作符,允许您对每个项执行一个void操作。这通常用于调试,但它也是一种很好的方法,可以在不映射到某个对象的情况下欺骗并启动一个void操作
RxJava中是否有与此等效的版本?也许我没有遵循一个好的实践或思考不够积极。。。但是在操作前后创建状态标签真的很方便吗?如果不支持peek()
,是否有更好的模式可以遵循
Observable<Item> Item= ...;
Label statusLabel = new Label();
Label resultLabel = new Label();
Observable<CalculatedItem> calculatedItem = calculated.subscribeOn(Schedulers.computation())
.peek(c -> statusLabel.setText("Working.."))
.map(c -> performExpensiveCalculation(c))
.peek(r -> statusLabel.setText(""));
calculatedItem.subscribe(c -> resultLabel.setText(c));
可观察项目=。。。;
标签状态标签=新标签();
Label resultLabel=新标签();
Observable CalculateItem=calculated.subscribeOn(Schedulers.computation())
.peek(c->statusLabel.setText(“工作…”)
.map(c->performExpensiveCalculation(c))
.peek(r->statusLabel.setText(“”);
CalculateItem.subscribe(c->resultLabel.setText(c));
有一个方法doOnNext(Action1 action)
,将为流中的每个项调用该方法