我正在与 Slick 和 Cats 合作。
database.run
返回 a Future
,但我需要我的类的方法(泛型 on F[_]: Async
)返回 monad F
。我可以让它像这样工作
val future = database.run(insertion)
val result = Await.result(future, Duration.Inf)
Async[F].delay(result)
但这肯定不是应该这样做的方式,因为它阻塞了线程。
有没有合适的方法来做到这一点?