Асинхронный возврат Java CompletableFuture

Если у нас есть переменная AsyncResponse response, мы можем написать что-то вроде:
CompletableFuture#thenAccept(response::resume).
Я не понимаю, как мы можем передать метод boolean resume(Object response) из класса AsyncResponse в thenAccept(), который принимает Consumer в качестве параметра, потому что Consumer возвращает void.

Можете попробовать использовать thenApply (...)?

aydinugur 26.12.2018 15:51

«Как мы можем передать ...» - игнорируя возвращаемое значение.

M. Prokhorov 26.12.2018 15:55
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
2
185
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Ссылка на метод просто проигнорирует возвращаемое значение. Если вы расширите ссылку на метод до анонимного внутреннего класса, это будет выглядеть так:

completableFuture.thenAccept(new Consumer<Object>() {
        @Override
        public void accept(Object object) {
            response.resume(object);
        }
    });
completableFuture.thenAccept(response::resume); хватило бы.
Nikolas Charalambidis 26.12.2018 17:53

Другие вопросы по теме