[英]ParTraverse Not a Value of NonEmptyList
我正在按照 cats IO 网站上的说明并行运行一系列效果:
我的代码看起来像:
val maybeNonEmptyList: Option[NonEmptyList[Urls]] = NonEmptyList.fromList(urls)
val maybeDownloads: Option[IO[NonEmptyList[Either[Error, Files]]]] = maybeNonEmptyList map { urls =>
urls.parTraverse(url => downloader(url))
}
但是我得到一个编译时错误说:
value parTraverse is not a member of cats.data.NonEmptyList[Urls]
[error] urls.parTraverse(url => downloader(url))
我已经导入了以下内容:
import cats.data.{EitherT, NonEmptyList}
import cats.effect.{ContextShift, IO, Timer}
import cats.implicits._
import cats.syntax.parallel._
而且我还有以下暗示:
implicit val cs: ContextShift[IO] = IO.contextShift(ExecutionContext.global)
implicit val timer: Timer[IO] = IO.timer(ExecutionContext.global)
为什么我仍然遇到问题?
这是因为implicit enrichment被导入了两次,所以变得模棱两可
import cats.implicits._
import cats.syntax.parallel._
从最新版本的 cat 开始,不再需要implicits
导入,只需要syntax
推荐的模式是只做import cats.syntax.all._
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.