Я уже задал этот вопрос:
Как получить текущее время в Elm?
И ответил на это, написав мой собственный (теперь устаревший) вариант start-app: http://package.elm-lang.org/packages/z5h/time-app/1.0.1
Конечно, архитектура Вяз изменилась, и мой старый способ делать вещи больше не работает, потому что нет сигналов или Time.timestamp
.
Так....
Предположим, что я создаю приложение со стандартной сигнатурой функции обновления: update : Msg -> Model -> (Model, Cmd Msg)
Я хотел бы создать временную метку моей модели со временем при обновлении. Одно неприемлемое решение - подписаться на Time.every
. Концептуально это не то, что я хочу. Это обновляет модель со временем, а также отдельно обновляет модель с сообщениями.
Что я хочу, так это написать функцию обновления с подписью: updateWithTime : Msg -> Time -> Model -> (Model, Cmd Msg)
Я начал пытаться решить эту проблему, добавив дополнительные сообщения: Msg = ... When | NewTime Time
И создание новой команды: timeCmd = perform (\x -> NewTime 0.0) NewTime Time.now
Таким образом, в любом действии я могу запустить дополнительную команду для получения времени. Но это становится беспорядочным и из рук в руки.
Любые идеи о том, как я могу это очистить?