Pull to refresh

Comments 13

JavaScript дошел до Promises A+, и тут нечто похожее наконец-то появляется в Java 8 :)
Для Java есть RxJava, там куда более мощная абстракция, чем futures/promises.

Да и для JS есть RxJS, да.
более мощная абстракция — это вы имете в виду Observable? Нет, ее нельзя сравнивать напрямую с futures/promises, это разные вещи — примерно как массив и скаляр. Вы же не будете все скаляры заменять массивами только потому, что массив — более мощная абстракция. Аналогом Observable в java8 является Stream — абстракция того же порядка, но (к сожалению) лишенная важных деталей — способности передачи ошибок и сигналов окончания.
В теории вы правы, на практике я бы не стал реализовывать асинхронные вычисления с одним результатом (=скаляры) с помощью Futures, если в проекте уже используются Observables.
Разве Promises A+ — это стандартная часть JavaScript'а? Это какая-то сторонняя библиотека. Для Явы такие сторонние библиотеки появились как минимум несколько лет назад.
UFO just landed and posted this here
Я правильно понимаю, что это аналог SettableFuture из Guava?
SettableFuture беднее — не имеет методов для асинхронного заполнения, и только один метод асинхронного чтения: addListener, эквивалентный thenRunAsync.
Есть ещё всякие полезные статические методы в Futures, например: Futures.transform(future, function)

Returns a new ListenableFuture whose result is the product of applying the given Function to the result of the given Future.
я так понимаю, это эквивалентно future.thenApply(function)
Sign up to leave a comment.

Articles