gpt4 book ai didi

elm - 如何从 Http.Error 中获取错误消息?

转载 作者:行者123 更新时间:2023-12-03 22:19:12 25 4
gpt4 key购买 nike

我正在尝试完成 Elm 0.17 tutorial for HTTP 中的练习。 .如果获取 gif 失败,我想让用户知道为什么它失败并显示错误消息。

我已将模型修改为:

type alias Model =
{ topic : String
, gifUrl : String
, errorMessage : String
}

并且 fetch 更新失败为:
FetchFail error ->
(Model model.topic model.gifUrl (errorMessage error), Cmd.none)

函数 errorMessage如下:
errorMessage : Http.Error -> String
errorMessage error =
case error of
Http.Timeout ->
"Timeout"
Http.NetworkError ->
"Network Error"
Http.UnexpectedPayload _ ->
"UnexpectedPayload"
Http.BadResponse _ _ ->
"BadResponse"

上面的功能对我来说似乎是不必要的样板。有没有办法可以直接转换 Http.Error成字符串?

最佳答案

您可以使用 toString 将任何内容转换为字符串.这将为您提供与案例陈述几乎相同的输出:

toString Timeout == "Timeout"
toString NetworkError == "NetworkError"
toString (UnexpectedPayload "Error") == "UnexpectedPayload \"Error\""
toString (BadResponse 500 "Error") == "BadResponse 500 \"Error\""

只需将调用替换为 errorMessagetoString你可以摆脱 errorMessage完全:

FetchFail error ->
(Model model.topic model.gifUrl (toString error), Cmd.none)

关于elm - 如何从 Http.Error 中获取错误消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37390998/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com