Я не могу разглядеть разницу между thenApply(
) и thenCompose()
.
Итак, может ли кто-нибудь предоставить действительный прецедент?
Из документов Java:
thenApply(Function<? super T,? extends U> fn)
Возвращает новый
CompletionStage
, который, когда этот этап завершается как правило, выполняется с результатом этого этапа в качестве аргумента поставляемая функция.
thenCompose(Function<? super T,? extends CompletionStage<U>> fn)
Возвращает новый
CompletionStage
, который, когда этот этап завершается как правило, выполняется на этом этапе в качестве аргумента функция.
Получаю, что второй аргумент thenCompose
расширяет CompletionStage, где thenApply
нет.
Может ли кто-нибудь предоставить пример, в каком случае я должен использовать thenApply
и когда thenCompose
?