Получить все страницы итеративно, используяJAVA

Программисты JAVA общаются здесь
Anonymous
Получить все страницы итеративно, используя

Сообщение Anonymous »

Дао имеет методы, которые возвращают завершенные функции. Чтобы избежать получения огромного результата одновременно, я хочу получить его на страницах из дБ. public CompletionStage getAll(List codes) {
return getAllBatch(codes, 1L, PAGE_SIZE);
}

private CompletionStage getAllBatch(List codes, Long pageNumber, Long pageSize) {
return get(codes, pageSize, pageNumber)
.thenCompose(results -> {
if (results.size() < pageSize) {
return completedFuture(results);
}
else {
return getAllBatch(codes, pageNumber + 1, pageSize)
.thenApply(
nextPageResults -> Stream.concat(results.stream(), nextPageResults.stream())
.toList());
}
});
}


Подробнее здесь: https://stackoverflow.com/questions/796 ... ablefuture

Вернуться в «JAVA»