У меня есть Future
и функция, которую я хочу выполнить после завершения Future
. И верните новый Future
.Chain 2 futures - рассчитать один и вернуть еще
Я хочу создать функцию, делая это, но я не могу:
def chain(fut: Future[A], continueFun: Future[A] => B): Future[B] = future {
fut onComplete { case Success(x) => continueFun(x) } // ops, Unit
}
Я опустил onFailure
для простоты.
Однако onComplete
, onSuccess и onFailure - все они возвращаются Unit
. Как мне вернуть Future[B]
после завершения Future[A]
?
Важно, чтобы 'continueFun' воспринимал будущее как аргумент? в противном случае я думаю, что вы могли бы просто сделать 'futureA.map (continueFun)' – tehlexx
@tehlexx, да, это так. –