Size: a a a

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

2020 February 16

M

M in Elm Lang сообщество разработчиков
Скорее всего, дальше они стикеры должны прислать. Но они тут запрещены)
источник

YP

Yauhen Pyl in Elm Lang сообщество разработчиков
всем хорошего дня, подскажите пожалуйста почему Elm не показывает сообщение о том, что приложение грузиться?
main : Program Value Model Msg
main =
   Browser.document
       { init =
           \_ ->
               ( Model initEmptyBoard [] (Just "Generating")
               , Random.generate (ValuesForBoxGenerated ( A, A ) (Just ( B, B ))) valueCompleteGenerator
               )
...
и там уже в ValuesForBoxGenerated (Just "Generating") view удаляет это сообщение
я вижу в дебагере, что на самом деле все происходит пошагово, но когда реальное приложение загружается - то оно просто грузится, а потом сразу конечное состояние отображается. Спасибо
источник

AP

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

YP

Yauhen Pyl in Elm Lang сообщество разработчиков
хм, там видимая задержка, где-то полсекунды, я пытаюсь выучить elm и судоку пытаюсь написать
источник

YP

Yauhen Pyl in Elm Lang сообщество разработчиков
а там между этим должно убираться поле, и отображаться - загрузка, когда пошагово - то все ок
источник

YP

Yauhen Pyl in Elm Lang сообщество разработчиков
магия
источник

YP

Yauhen Pyl in Elm Lang сообщество разработчиков
ага, вроде разобрался, это из-за того, что все запускается в init, если через кнопку запускать процесс - все ок
а так отображается изначальный html - Elm еще не заменил элемент
источник
2020 February 17

SF

Stan Fokl in Elm Lang сообщество разработчиков
То есть проблема во времени старта элма?
источник

YP

Yauhen Pyl in Elm Lang сообщество разработчиков
хм, насколько я понимаю, пока не отработает команда, которая вызывается из init - elm не обновляет dom
источник

AP

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

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Cmd, собранная в init, должна выполниться сначала
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Но всё зависит от того, что за команда
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Какой-нить запрос можно слать, он асинхронно выполнится
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
А вот Random синхронно выполняется. И если вы что-то очень большое генерируете, то придётся подождать
источник

YP

Yauhen Pyl in Elm Lang сообщество разработчиков
да, в этом и была проблема, спасибо
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Можно сделать модель с Maybe-полем, которое будет содержать долго генерируемую структуру.
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Послать через Cmd сообщение-пустышку, чтобы update сработал. А из update спровоцировать генерацию
источник

YP

Yauhen Pyl in Elm Lang сообщество разработчиков
у меня получается запускается backtracking алгоритм для создания судоку поля - там в зависимости от удачи, может очень быстро сгенерироваться, а может все варианты перебрать
за раз генерируется одно рандомное значение и я пытаюсь вставить его в поле, и так далее рекурсивно
между командами на генерирование рандомного числа, я хочу показывать процент заполненного поля (сколько осталось пустых клеток, а сколько уже заполнилось)
т.е. update у меня посылает ту же самое команду на генерирование рандомного числа
только что-то dom не обновляется между командами
источник

KA

Konstantin Alifanov in Elm Lang сообщество разработчиков
Ты юзаешь мемоизацию?
источник

KA

Konstantin Alifanov in Elm Lang сообщество разработчиков
Хотя вопрос не совсем по теме, просто интересно
источник