Size: a a a

Elm Lang сообщество разработчиков

2020 January 14

AK

Anton Kotenko in Elm Lang сообщество разработчиков
Aleksei (astynax) Pirogov
Т.е. всё равно заход в update будет
понятно, неизбежно
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
Anton Kotenko
то есть получается onClick (always MakeNewSeedFor...),  в update обработчик MakeNewSeedFor..., который запускает таск на Time.now (и там andThen), который получает Seed и отдаёт в другой мессадж (типа UseSeed ...)
может это как-то покрасивее всё равно можно сделать?
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
ещё было бы неплохо в мессадж положить раз уж так следующий мессадж, но боюсь, что компилятор упадёт снова
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Будет минимум два захода в update:
- реакция на клик (порождает цепочку тасков)
- получения результата выполнения цепочки тасков
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
Anton Kotenko
ещё было бы неплохо в мессадж положить раз уж так следующий мессадж, но боюсь, что компилятор упадёт снова
речь про ту известную ошибку если что
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
:)
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
Aleksei (astynax) Pirogov
Будет минимум два захода в update:
- реакция на клик (порождает цепочку тасков)
- получения результата выполнения цепочки тасков
Спасибо, осознал и принял :)
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Если при этом модель не поменяется, то расходов будет минимум.
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Так что я бы не парился
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
А вот цепочить таски — стоит, имхо. А то FSM в модели получится какой-то. Да и куча промежуточных сообщений будет напрягать.
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
Aleksei (astynax) Pirogov
А вот цепочить таски — стоит, имхо. А то FSM в модели получится какой-то. Да и куча промежуточных сообщений будет напрягать.
вот как раз промежуточные получаются, потому что надо распределить кому сид достанется, типа есть много разных сообщений/действий, которым нужен новый сид (к примеру) и кнопка запускает генерацию для конкретного случая
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
Anton Kotenko
вот как раз промежуточные получаются, потому что надо распределить кому сид достанется, типа есть много разных сообщений/действий, которым нужен новый сид (к примеру) и кнопка запускает генерацию для конкретного случая
Можно передать Cmd и Msg в Msg
onClick $ RunTask generateSeed NextTask

type Msg = RunTask Cmd Msg
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
давно не писал, на память все не помню 😄 generate и так принимает Msg, поэтому просто передадать Cmd
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Слишком "God Message" получается
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
Aleksei (astynax) Pirogov
Слишком "God Message" получается
я бы оставил, тут некуда особо делать менее god 😄
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
почти id
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Суть в том, что Cmd (Cmd Msg) ничего не говорит о том, что за эффект делается
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
Там Msg (Cmd Msg)
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
Максимум что могу придумать, кроме "не делает ничего", это считает количество активных тасков 😄
источник