调用消息列表的消息
使用 sequence
功能,你可以轻松描述调用其他消息列表的消息。在处理消息的语义时,它很有用。
示例 1:你正在制作游戏引擎,你需要在每个帧上刷新屏幕。
module Video exposing (..)
type Message = module Video exposing (..)
import Update.Extra exposing (sequence)
-- Model definition [...]
type Message
= ClearBuffer
| DrawToBuffer
| UpdateLogic
| Update
update : Message -> Model -> (Model, Cmd)
update msg model =
case msg of
ClearBuffer ->
-- do something
DrawToBuffer ->
-- do something
UpdateLogic ->
-- do something
Update ->
model ! []
|> sequence update [ ClearBuffer
, DrawToBuffer
, UpdateLogic]