如何在 Elm 中暂停测量时间?
How to pause for a measured time in Elm?
我正在尝试使用 Elm 创建一个简单的网页,其中涉及在测量的时间内显示图像,例如一秒或一毫秒。
有没有办法在 Elm 中 "pause"?然后我可以显示,暂停,然后删除图像来实现效果。
我注意到 clock example 但它似乎在每次机器时钟触发新的一秒时更新,而我正在寻找可以暂停以更新设定时间(例如几分之一秒)的东西) 在开始时间之后。
您可以创建一个新的 Msg
值来触发 url(图像的)更改。
并通过 Timer.every
创建订阅。
您可以在您的模型中添加一个标志来指示是否继续更新图像,如果这是您想要的。
示例:
subscriptions : Model -> Sub Msg
subscriptions model =
if model.keepUpdating then
Time.every (3 * second) (\x -> UpdateImage)
else
Sub.none
update : Msg -> Model -> ( Model, Cmd Msg )
update msg model =
case msg of
UpdateImage ->
( { model | image_url = "http://to_new_image/..." }, Cmd.none )
elm-delay
包提供了一个很好的定时器抽象。要创建一个在一秒内触发的 Cmd RemoveImage
,您只需执行 after 1 second RemoveImage
.
我正在尝试使用 Elm 创建一个简单的网页,其中涉及在测量的时间内显示图像,例如一秒或一毫秒。
有没有办法在 Elm 中 "pause"?然后我可以显示,暂停,然后删除图像来实现效果。
我注意到 clock example 但它似乎在每次机器时钟触发新的一秒时更新,而我正在寻找可以暂停以更新设定时间(例如几分之一秒)的东西) 在开始时间之后。
您可以创建一个新的 Msg
值来触发 url(图像的)更改。
并通过 Timer.every
创建订阅。
您可以在您的模型中添加一个标志来指示是否继续更新图像,如果这是您想要的。
示例:
subscriptions : Model -> Sub Msg
subscriptions model =
if model.keepUpdating then
Time.every (3 * second) (\x -> UpdateImage)
else
Sub.none
update : Msg -> Model -> ( Model, Cmd Msg )
update msg model =
case msg of
UpdateImage ->
( { model | image_url = "http://to_new_image/..." }, Cmd.none )
elm-delay
包提供了一个很好的定时器抽象。要创建一个在一秒内触发的 Cmd RemoveImage
,您只需执行 after 1 second RemoveImage
.