¿Por qué hay un parámetro de tipo IO en Request, como en http4s Request[IO]?
Hay un parámetro de tipo IO en la solicitud como en http4s Request[IO]. ¿Por qué es necesario, qué efecto tenemos aquí y cuándo se ejecuta este efecto?
Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.
Hay un parámetro de tipo IO en la solicitud como en http4s Request[IO]. ¿Por qué es necesario, qué efecto tenemos aquí y cuándo se ejecuta este efecto?
¿Existe alguna forma de evitar llamar al método “run” dos veces y hacerlo solo una vez desde el método principal o esta es la forma correcta de hacerlo en Reader anidados? case class Dependencies(showService: ShowService, sumService: SumService) class ShowService { def show(s: String): IO[Unit] = IO {println(s)} } class SumService() . . . Read more
Estoy siguiendo esto. La estructura de mi programa es la siguiente: (for { data <- myService.fetch(id).eitherT values <- anotherService.fetch(data.id).eitherT // todo: procesar valores como parte de la comprensión para } yield data.id).value myService.fetch devuelve Future[…]. anotherService.fetch también devuelve Future[…], y values es una Seq. Quiero procesar las entradas en values . . . Read more
Este código prueba la cancelación de una fibra creada desde un completable future y está fallando: val toCancel = CompletableFuture.supplyAsync { () => Thread.sleep(20000) () } val test = for { foo <- IO.fromCompletableFuture(IO(toCancel)).start _ <- IO.sleep(1.second) _ <- foo.cancel } yield toCancel.isCancelled assertIOBoolean(test) ¿Es esto un bug de Cats . . . Read more
Intento seguir https://typelevel.org/cats/typeclasses/applicative.html trait Applicative[F[_]] extends Functor[F] { def product[A, B](fa: F[A], fb: F[B]): F[(A, B)] def pure[A](a: A): F[A] } // Implementación de ejemplo para Either con preferencia por la derecha implicit def applicativeForEither[L]: Applicative[Either[L, *]] = new Applicative[Either[L, *]] { def product[A, B](fa: Either[L, A], fb: Either[L, B]): . . . Read more