BlazeServerBuilder要求额外的参数



我正试图用http4在scala中编写一个简单的http服务器。但是,当我按照教程创建BlazeServer生成器时,它会说我需要提供Timer[IO](给我错误未指定的值参数:Timer:Timer[IO](,我似乎找不到任何关于原因的信息。

val server = BlazeServerBuilder[IO](global)

正如Luis所说,可能值得通过调用来为http4s快速启动使用scala种子

$ sbt new http4s/http4s.g8 --branch 0.23

这将给你一个关于如何将服务器、路由和配置的好主意

关于你的问题,如果你使用Blaze,你可以看到计时器是apply的隐式参数之一,这是的签名(在0.21.9中(

def apply[F[_]](executionContext: ExecutionContext)(implicit
F: ConcurrentEffect[F],
timer: Timer[F]): BlazeServerBuilder[F] 

你可以创建一个像这样的隐式定时器,假设你有一个隐式执行上下文(在下面的代码中,就是ec(

implicit val timer: Timer[IO] = IO.timer(ec)

最新更新