MAP()操作员的RXJAVA替代方案,以保存发射的项目



我使用改造与REST API进行交互,RXJAVA可操纵我收到的数据。

在下面的代码段中,我进行了一个API调用,并使用map操作员保存我收到的数据,然后再使用其他操作进行针对流的其他操作。

retrofitApi.registerDevice(mDevice)
           .map(new Func1<Device, Device>() {
               @Override
               public Device call(Device device) {
                  // The only purpose of the map() operator 
                  // is to save the received device.
                  magicBox.saveDeviceId(device.getId());
                  return device;
               }
           })
           .otherOperations()...

我的问题是:是否有更好的运营商可以做这份工作?我觉得我滥用map操作员。

egor的回答后,我进行了一些研究,并根据Dan Lew的Blogpost和这个问题,正确答案似乎是 doOnNext

看起来Dooneach()是您想要的,但是我自己没有尝试过。

最新更新