我使用Retrofit与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
运营商。
答案 0 :(得分:7)
关注Egor's answer我做了一些研究,基于Dan Lew's blogpost和this question,正确答案似乎是
doOnNext
答案 1 :(得分:3)
看起来doOnEach()正是您正在寻找的,但是我自己没有尝试过。