Trong Elm
và cụ thể với Elm Architecture khi ứng dụng lần đầu tiên bắt đầu chức năng init
có thể trả lại Cmd Msg
được thực thi. Chúng tôi có thể sử dụng điều này để gửi yêu cầu http hoặc gửi thư đến Javascript gốc qua Elm ports.Chạy hai lệnh cùng lúc trong Elm
Câu hỏi của tôi là, làm thế nào tôi có thể gửi nhiều lệnh sẽ được thực hiện trong init
?
Ví dụ tôi có thể làm một cái gì đó như:
init : (Model, Cmd Msg)
init =
(Model "" [], (Ports.messageToJs "Hello JS"))
Và tôi có thể làm điều gì đó như:
url : String
url =
"http://some-api-url.com"
...
fetchCmd : Cmd Msg
fetchCmd =
Task.perform FetchError FetchSuccess fetchTask
init : (Model, Cmd Msg)
init =
(Model "" [], fetchCmd)
Làm thế nào tôi có thể trả lại cả hai lệnh cùng lúc từ init
?
Tôi đã xem Task.sequence
và thậm chí Task.parallel
nhưng chúng có vẻ tốt cho việc chạy nhiều tác vụ, chứ không phải các lệnh cụ thể.
hoàn hảo! cảm ơn – antfx
Các lệnh có chạy song song hoặc chúng được tuần tự hóa không? Tôi đang nghĩ về một loạt nhiều HTTP được mà sẽ mất một thời gian dài nếu serialized. – goertzenator
@goertzenator chúng chạy song song, không phải trong chuỗi – antfx