J'essaye d'effectuer une demande de GET dans l'orme. La fonction renvoie une tâche que j'essaie d'effectuer. Malheureusement, mon matériel de référence est Elm 0.17 et ce que j'ai compris, c'est que la signature pour Task.perform a changé.Elm 0.18 demandes Http
fetchTasks: MyModel -> String -> Platform.Task Http.Error (Dict String MyTask)
fetchTasks model apiUrl=
{ method = "GET"
, headers = [ Http.header "Content-Type" "application/json"
, Http.header "Authorization" model.token ]
, url = apiUrl
, body = Http.emptyBody
, expect = Http.expectJson (dict taskDecoder)
, timeout = Nothing
, withCredentials = False }
|> Http.request
|> Http.toTask
fetchTaskCmd : MyModel -> String -> Cmd Msg
fetchTaskCmd model apiUrl =
Task.perform AuthError GetTasksSuccess <| fetchTasks model apiUrl
Ceci est ma fonction pour la demande GET et la commande qui effectue les tâches. Les AuthError et GetTasksSuccess sont Messaging que j'ai définis. Ce que j'ai lu dans le Elm Docs que la nouvelle signatur pour tâche Perform est
perform : (a -> msg) -> Task Never a -> Cmd msg
Que dois-je faire pour mettre en œuvre pour obtenir ma commande de travail?
Oui, mais le compilateur dit que la valeur renvoyée est du type Cmd msg, pas Cmd Msg. En outre, après – Essometer
j'ai mis à jour ma réponse pour aider –
Désolé pour le double post, ne peut pas éditer mon commentaire original. De même, après avoir envoyé la commande fetchTaskCmd, où est mon JSON analysé par la suite? Ou est-ce que je reçois en résultat seulement la forme de chaîne ma obtenir la demande? – Essometer