我已经问过这个问题了:
如何在 Elm 中获取当前时间? 我通过编写自己的 (现在已不建议使用) start-app 变体进行了回答:
http://package.elm-lang.org/packages/z5h/time-app/1.0.1
当然,Elm 架构已经发生了变化,我的旧方法不再奏效,因为没有信号或
所以....
假设我使用标准的 update 函数签名建立一个应用程序:
我想要的是能够编写一个带有签名的更新函数:
我开始尝试通过添加一些额外的消息来解决这个问题:
有任何想法可以使代码更加清晰吗?
如何在 Elm 中获取当前时间? 我通过编写自己的 (现在已不建议使用) start-app 变体进行了回答:
Time.timestamp
。所以....
假设我使用标准的 update 函数签名建立一个应用程序:
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
所以在任何操作中,我都可以触发额外的命令来检索时间。但这很快变得混乱而失控。有任何想法可以使代码更加清晰吗?