RXJava将函数应用于Observable中的每个元素并返回它的可观察性

Dan*_*ico 1 android reactive-programming rx-java retrofit

我有一个改装服务,它返回一个Observable并在每次加载时保存它.

我的改造服务:

@GET("url")
Observable<Order> getOrder();
Run Code Online (Sandbox Code Playgroud)

功能:

return SERVICE.getOrder()
            .map(order -> {
                save(order);
                return order;
            });
Run Code Online (Sandbox Code Playgroud)

但是,如果你看到我只是保存并返回相同的对象,有没有更简单的方法?

zel*_*lla 6

您正在寻找 doOnNext

return SERVICE.getOrder()
            .doOnNext(order -> {
                    save(order);
            })
Run Code Online (Sandbox Code Playgroud)

它调用动作,只接受发出的项目.
注意,doOnNext调用观察者的线程