FlatMap无法正常工作-正如我所读的,FlatMap用于调用synchronous API调用,但是在我的情况下,flatMap在返回getUpdateRecentLocation
函数后执行其功能
public Single<List<LocationParcelableItem>> getUpdateRecentLocation(
return locationRepository
.getRecentLocations(filter)------Line 1
.subscribeOn(Schedulers.io())------Line 2
.flatMap(recentLocationRecordList -> { ------Line 3
return locationRepository ------Line 4
.getLocations(getRecentLocationsIds(recentLocationRecordList))------Line 5
.map(this::convertLocationResponseToLocationItemList);------Line 6
}).flatMap(locationParcelableItems -> {------Line 7
return getRecentLocations(locationViewType);------Line 8
}).map(locationParcelableItems -> {------Line 9
return locationParcelableItems;------Line 10
});------Line 11
}
当编译器在上面的代码上运行时,它将不执行flatmap和Map中的代码,而直接返回而无需在flatMap内部执行代码 编译器执行第1-> 2-> 3-> 7-> 9-11行,然后返回它不执行第4-> 5-> 6-> 8-> 10
行我觉得我的调度程序传递了错误,或者我应该在这里错过什么??