subscribe(); //запустить исполнение..
// .. и сделать что-то с каждым полученным значением
subscribe(Consumer<? super T> consumer);
// .. и сделать что-то в случае исключения
subscribe(Consumer<? super T> consumer, Consumer<? super Throwable> errorConsumer);
// .. и сделать что-то по завершению
subscribe(
Consumer<? super T> consumer,
Consumer<? super Throwable> errorConsumer,
Runnable completeConsumer
);
Mono<Void> asyncCall = Mono.fromRunnable(() -> {
//тут какая-то логика
//возвращаем Mono.empty() после выполнения
});
asyncCall.subscribe();
Flux
.interval(Duration.ofSeconds(1))
.doOnEach(signal -> logger.info("{}", signal.get()))
.blockLast();
//получаем последовательность идентификаторов
userService.getFavoriteMemes(userId)
.flatMap(memeService.getMemes) //закачиваем мемы по ID
//если пусто, берём мемы из сервиса предложений
.switchIfEmpty(suggestionService.getSuggestedMemes())
.take(5) // нам нужно не больше 5 элементов
.publishOn(UiUtils.uiThreadScheduler()) //отдаём данные в UI-поток
.subscribe(favorites -> {
uiList.show(favorites); //вызывается в UI-потоке
}, UiUtils::errorPopup); //колбэк на случай ошибки