Сглаживание фьючерсов JavaJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Сглаживание фьючерсов Java

Сообщение Anonymous »

У меня есть две функции, каждая из которых возвращает экземпляры CompletableFuture, и я хочу объединить их в одно упорядоченное будущее, допускающее короткое замыкание.

Код: Выделить всё

public CompletableFuture doA();
public CompletableFuture doB();
Код, не являющийся будущим (т. е. возвращающий только логические значения), будет просто

Код: Выделить всё

return doA() || doB();
Используя Futures, я достиг этой точки, когда тип возвращаемого значения является экземпляром CompletableFuture.

Код: Выделить всё

doA.thenApply(b -> {
if (!b) {
return doB();
} else {
return CompletableFuture.completedFuture(b);
}
}
Есть ли способ это исправить? Или каким-либо образом я могу сделать возвращаемый тип CompletableFuture?
Изменить: обратите внимание: возможность короткого замыкания фьючерсов - это функция, которая мне нужна. Я знаю, что затем выполняю вычисления последовательно, но это нормально. Я не запускаю doB, когда doA возвращает true.

Подробнее здесь: https://stackoverflow.com/questions/233 ... va-futures
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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