10
私はElm 0.17 tutorial for HTTPでエクササイズを試みています。 gifの取得に失敗した場合は、エラーメッセージが表示されて失敗した原因をユーザーに知らせたいと思います。Http.Errorからエラーメッセージをどのように取得できますか?
私はあることを私のモデルを変更した:
type alias Model =
{ topic : String
, gifUrl : String
, errorMessage : String
}
とする更新に失敗フェッチ:
次のように機能errorMessage
がある
FetchFail error ->
(Model model.topic model.gifUrl (errorMessage error), Cmd.none)
:
errorMessage : Http.Error -> String
errorMessage error =
case error of
Http.Timeout ->
"Timeout"
Http.NetworkError ->
"Network Error"
Http.UnexpectedPayload _ ->
"UnexpectedPayload"
Http.BadResponse _ _ ->
"BadResponse"
上記の機能は私にとっては不要なボイラープレートのようです。 Http.Error
を文字列に直接変換できる方法はありますか?
応答であった場合'BadResponse 400" "" {"errors":必須の引数がありません "" "" '、定型文@Martimatixは必須ですか?要するに、応答は「いずれかのエラーa」である。 –
パラメータを省略して "BadResponse"を出力したい場合は、caseステートメントで明示的に呼び出す必要があります。アンダースコアキャッチオールの場合、デフォルトは 'toString'です。 –