Создавайте издателя динамически с условиями - PullRequest
0 голосов
/ 05 июля 2019

Я просто ищу идею для преобразования этого псевдокода в реактивный стиль.

var records = new ArrayList<>(); 

var query   = new Query();
var results = query.executeQuery();
records.addAll(results.getRecords());

while (results.hasMore()) {
query = new Query(results.offset())
deals = hubspotQuery.executeQuery(Deals.class);
records.addAll(results.getRecords());
}

Идея состоит в том, чтобы собрать все записи в Flux

1 Ответ

0 голосов
/ 11 июля 2019

Вот одно из возможных решений. Может быть, есть другие, но этот простой. Это не настоящий код, но он описывает логику.

Flux<Records> query = createFluxQuery(); query.expand(record -> (record.hasMore()) ? createFluxQuery(record.offset) : Flux.empty());

...