在Elm
中,具體是Elm Architecture當應用程序第一次啓動時init
函數可以返回執行的Cmd Msg
。我們可以使用它來發送http請求或通過Elm ports發送消息到本地JavaScript。在Elm中同時運行兩個命令
我的問題是,我怎麼能發送多個命令,應該在init
執行?
例如,我可以這樣做:
init : (Model, Cmd Msg)
init =
(Model "" [], (Ports.messageToJs "Hello JS"))
而且我可以這樣做:
url : String
url =
"http://some-api-url.com"
...
fetchCmd : Cmd Msg
fetchCmd =
Task.perform FetchError FetchSuccess fetchTask
init : (Model, Cmd Msg)
init =
(Model "" [], fetchCmd)
如何從init
返回在同一時間兩個命令?
我看過Task.sequence
甚至Task.parallel
但它們似乎很適合運行多個任務,而不是專門的命令。
完美!謝謝 – antfx
命令是並行運行還是序列化?我正在考慮一批多個HTTP獲取,如果需要序列化,則需要很長時間。 – goertzenator
@goertzenator他們並行運行,不在系列 – antfx