我可以使用RxJava和Observable将请求批处理到API并收集结果吗?

时间:2018-09-20 20:39:32

标签: lambda stream rx-java observable collectors

我有一种方法,可以将请求分批发送给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(....

0 个答案:

没有答案