呼叫訊息列表的訊息
使用 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]