Ciris.ConfigValue 中 parMapN 缺少方法

发布于 2025-01-11 22:10:03 字数 730 浏览 1 评论 0原文

我不明白这个错误。我知道这表明 ConfigValue 没有定义名为 parMapN 的方法。

值 parMapN 不是 (ciris.ConfigValue[ciris.Effect,Int], ciris.ConfigValue[ciris.Effect,String]) 的成员 可能的原因:也许“value parMapN”之前缺少分号? ).parMapN((端口, 主机) => ServerConfig(端口(端口), 主机(主机)))

package com.rusty.core.config

import cats.effect.kernel.Async
import ciris.{ConfigValue, env}
import com.rusty.core.domain.{Host, Port}
import cats.implicits._


final case class ServerConfig(
    port: Port,
    host: Host
)

object ServerConfig {
  def serverConfig[F[_]: Async]: ConfigValue[F, ServerConfig] = (
    env("PORT").as[Int].default(8080),
    env("HOST").default("localhost")
  ).parMapN((port, host) => ServerConfig(Port(port), Host(host)))
}

I do not understand this error. I know it is telling that ConfigValue does not have a method defined called parMapN.

value parMapN is not a member of (ciris.ConfigValue[ciris.Effect,Int], ciris.ConfigValue[ciris.Effect,String])
possible cause: maybe a semicolon is missing before `value parMapN'?
).parMapN((port, host) => ServerConfig(Port(port), Host(host)))

package com.rusty.core.config

import cats.effect.kernel.Async
import ciris.{ConfigValue, env}
import com.rusty.core.domain.{Host, Port}
import cats.implicits._


final case class ServerConfig(
    port: Port,
    host: Host
)

object ServerConfig {
  def serverConfig[F[_]: Async]: ConfigValue[F, ServerConfig] = (
    env("PORT").as[Int].default(8080),
    env("HOST").default("localhost")
  ).parMapN((port, host) => ServerConfig(Port(port), Host(host)))
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一页 2025-01-18 22:10:03

调用 parMapN 需要一个 Parallel[F] 实例,您可以从 Async 获取该实例。为此,请添加以下内容:

import cats.effect.implicits._

Calling parMapN requires an instance of Parallel[F], which you can get from Async. To do that, add this:

import cats.effect.implicits._
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文