Size: a a a

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

2020 December 09

SO

Sash Osh in Elm Lang сообщество разработчиков
Aleksei (astynax) Pirogov
Не "так себе", а "невыразимо в текущем языке"
да, поэтому все спрятано под мягкой и влажной листовой вяза 😄
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Нормальным решением было бы сделать управляемую систему эффектов. Чтобы можно было подписаться на все реквесты и решать, как их выполнять — мокать ли, или патчить
источник

SO

Sash Osh in Elm Lang сообщество разработчиков
Aleksei (astynax) Pirogov
Cmd.map patchRequest (Task.perform getRandom) как должен работать? Молча игнорировать?
мог бы, но это так просто предположение, я так делал, когда отдельные виды запросов были в отдельных потоках, а тут все в охапке одной
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Но так как это всё по большей части в нативе находится, Эван не считает, что мы достаточно взрослые, чтобы такое делать
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Sash Osh
мог бы, но это так просто предположение, я так делал, когда отдельные виды запросов были в отдельных потоках, а тут все в охапке одной
Нет возможности по типу узнать, что у вас там в разных потоках. "Мамой клянусь" не катит
источник

SO

Sash Osh in Elm Lang сообщество разработчиков
да видимо это и не нужно
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Нужно. Но не представимо
источник

SO

Sash Osh in Elm Lang сообщество разработчиков
вот я и спрашивал по конкретный кейс проблемный) он имеется на деле. или хотя бы в голове?
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
update : Msg -> Model -> (Model, Cmd Msg, List (Request))
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
реквесты пробрасываются выше, обрабатываются, если нужно, на верхнем уровне заворачиваются в Cmd
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
В тестах можно вообще не выполнять запросы а просто смотреть на значения
источник

SO

Sash Osh in Elm Lang сообщество разработчиков
ну да, т.е. решаемо без необходимости доступа к охапке Cmd
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Такой финт делают, например, когда хотят в результате вызова вложенного update прореагировать потом уровнем выше
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Sash Osh
ну да, т.е. решаемо без необходимости доступа к охапке Cmd
Не решаемо общим способом, но вполне решаемо частными обходными путями. В принципе это разумный компромисс
источник

SO

Sash Osh in Elm Lang сообщество разработчиков
притом это более очевидно, чем шарить по внутренностям Cmd пачки
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
В текущем виде — точно более очевидно
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Важно помнить, что update — не магическая хардкодная штука, а простая функция, которую можно писать так, как удобно. Важно только во фреймворк её в нужном виде передать в конце.
источник

SO

Sash Osh in Elm Lang сообщество разработчиков
ну да
источник

SO

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

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Aleksei (astynax) Pirogov
Такой финт делают, например, когда хотят в результате вызова вложенного update прореагировать потом уровнем выше
Тут тоже пропросить в довеске к результату лучше, чем делать промежуточный Cmd и ждать roundtrip до нового update
источник