задать стартовое значение для стрима, если он создается из ас. функции обратного вызова (ZStream.async)?
Немного контекста
Написал себе простое pub/sub хранилище императивно без фп и пытаюсь его обвернуть в зиву.
Есть три метода:
- getState -> возвращает текущее состояние
- setState -> устанавливает новое состояние
- subscribe -> создает подписку на изменения этого состояния.
Мб ZStream.succeed(startState) ++ fromAsync ?
Я так и попробовал в лоб, но тут в другом дело. Подозреваю, что я просто плохо понимаю как работают Fiber\Scopes\ZIO в целом. Сейчас заменил runLast на runForEach который в консоль начал логи выводить. Как я понял эффект который возвращается после вызова runLast банально ждет закрытие потока что бы начать выполнять код дальше по компрехеншену. Т.е что это еще не законченное вычисление.
Обсуждают сегодня