Что теряется после преобразования Monix `Task` в Cats` IO`? - PullRequest
3 голосов
/ 15 февраля 2020

В этом упрощенном случае мой вопрос случается в ...

object Main extends IOApp{
 def run(args:Seq[String]): IO[ExitCode]={
    Task{...}
     .to[IO]
     .as(ExitCode.Success)
 }
}

Другой вариант - Await.result(task), но это не совсем соответствует практике IOApp.

что я знаю

Согласно этому великому сообщению Monix vs Cats Effect
Я вижу различия между Task IO:

  • Task API богаче, чем IO
  • Task умнее и автоматизированнее c о потоке честность планирования
  • Task получить больше вариантов отмены
  • и более ...

вопрос и мое мнение

Что я потерял после преобразования Monix Task в Casts IO?

Кажется, что работает нормально, с Task.gather и timeout - всеми этими заданиями c.
Итак, что я потерял при конвертации?
Если нет, то нет причин для создано более одного типа данных.

Таким образом, учитывая различия, это означает, что я потерял честность планирования после разговора Task с IO?

* 1 052 *

Ну, я должен был это проверить сам, но я не знаю, как это проверить.

...