Преобразование Future [A] в F [A] с помощью Async[F]
Я работаю с Slick and Cats.
database.run
возвращает Future
, но мне нужен метод моего класса (общий для F[_]: Async
) вернуть монаду F
. Я могу заставить это работать вот так
val future = database.run(insertion)
val result = Await.result(future, Duration.Inf)
Async[F].delay(result)
но точно так не должно быть, так как это блокирует поток.
Есть ли правильный способ сделать это?