Я следую инструкциям на веб-сайте 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)
Почему я все еще получаю проблему?
import cats.syntax.parallel._
неявный импорт, который сделает все возможным, добавление еще одного приведет к двусмысленности. - person Luis Miguel Mejía Suárez   schedule 18.02.2020