про плей контроллеры
Так если UIO - это как Future для плея, то Task - это как Future[Either[Throwable, T]]
Наверное, я не в контексте или запутался. UIO это ZIO[Any, Nothing, A]. Как он может быть заменой фьючи?
В довольно большом количестве кода можно механически Future поменять на UIO и все продолжит не толко компилироваться, но и работать.
А как фейлы-то транслироваться будут? Как смэрт файбера?
так нет же методов, которые в кауз сровабл хэндлят
как Cause (там Throwable внутри) Nothing в типе ошибки в ZIO означает не то, что ошибки быть не может, а то, что не декларируется ожидаемой ошибки, которую предполагалось бы разумно обрабатывать на вызывающей стороне
как нет? есть - неудобный, правда
ну нельзя написать аналог handleWith{ case ex: FileNotFoundException =>
можно, но не нужно
ну значит уже не настолько "механически"
Обсуждают сегодня