Могу ли я использовать RxJava и Observable для пакетной обработки запросов к API и сбора результатов? - PullRequest
0 голосов
/ 20 сентября 2018

У меня есть методы, которые отправляют запрос в API и формируют список результатов.

public Map<Long, Metadata> loadAll(Iterable<? extends Long> keys) 
throws Exception {
    List<Long> keyList = Lists.newArrayList(keys);
    List<DTO> dtos = new ArrayList<>();
    int from = 0, to=0 ;
    for(int count=0; count <= keyList.size(); ) {
        count += batchSize;
        to = (count > keyList.size() ? keyList.size() : count);
        dtos.addAll(search.getDTOs(keyList.subList(from, to)));
        from = to;
    }
    Map<Long, Metadata> map = 
    dtos.stream().collect(Collectors.toMap(DTO::getId, MetadataLoader::convertToLocalObject));

    return map;
}

Мне было интересно, есть ли компактный способ сделать это с помощью Observable.range (....

...