- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道如何解码 elm 中的 Http.Error 并将其数据存储在我的模型中。
我知道错误响应将返回这个结构。
{
error: "Some error message",
ok: false
}
这是我的模型和我的 Http 请求
type alias Model =
{ url = String
, result : String
, errorMessage : String
, error : Bool
}
model : Model
model =
{ url = ""
, result = ""
, errorMessage = ""
, error = False
}
-- make the request
makeRequest : String -> Cmd Msg
makeRequest url =
Task.perform FetchFail FetchSucceed (Http.get decodeTitle url)
-- decode the success response
decodeTitle : Json.Decoder String
decodeTitle =
Json.at ["title"] Json.string
-- decode the error
decodeError =
Json.object2 User
("error" := Json.string)
("ok" := Json.bool)
我希望我可以像这样在更新的 FetchFail
中处理这个问题。
type Msg
= FetchTitle
| FetchSucceed String
| FetchFail Http.Error
update : Msg -> Model -> (Model, Cmd Msg)
update action model =
case action of
...
FetchFail err ->
let
error =
decodeError error
in
({ model | ok = error.ok, errorMessage = error.error}, Cmd.none)
感谢任何帮助。
最佳答案
榆树 0.17:
Http.Error 类型是一个联合类型,可以保存响应代码(如果有的话)。
type Error = Timeout | NetworkError | UnexpectedPayload String | BadResponse Int String
您可以大小写
err 变量来访问它。
FetchFail err ->
case err of
BadResponse code error ->
-- handle error message
_ ->
-- other error
http://package.elm-lang.org/packages/evancz/elm-http/3.0.1/Http#Error
使用 elm 0.18 并过渡到 elm-lang/http Error 类型已修改:
type Error
= BadUrl String
| Timeout
| NetworkError
| BadStatus (Response String)
| BadPayload String (Response String)
关于榆树 : Decode Http. 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37739771/
当用户单击 elm 0.18 中的按钮时,有没有办法将文本从 div 复制到剪贴板? 我看过Clipboard.elm但我不能让它在 elm 0.18 中编译和工作。那么在 elm 0.18 中是否有
在 elm 中,我有一个模型,其中包含 currentDate ,它是一个表示日期的字符串。我用信号更新它: Signal.map (SetCurrentDate { model | current
我对 Elm 还很陌生。看到一种允许您开发前端内容的函数式语言很有趣。现在即使我按照描述的步骤here好吧,我仍然遇到模块问题。 代码是 module Main where import Html e
我正在尝试使用 Elm 实现简单的投票工具 SPA。我想为此使用 Firebase。我发现了 Elm 如何与 Firebase 一起工作的几个选项: 一些 Elm 包,但那些使用 native 绑定(
有没有办法在 elm 中读取文件? 我想要一个 xml 设置文件,我将在其中保留不同的设置并用 elm 读取它(我已经看过这个 parser ,但它需要 xml 内容,而不是路径)。我不想使用端口和这
我想知道如何解码 elm 中的 Http.Error 并将其数据存储在我的模型中。 我知道错误响应将返回这个结构。 { error: "Some error message", ok: fal
我正在尝试通过端口将 Elm 应用程序与 Masonry.js 集成,但我在尝试弄清楚如何获取 Signal Html 来触发告诉 Masonry.js 重绘 View 的端口时遇到了麻烦。 我正在使
update action model = case action of Delete id -> { model | tasks t.id /= id) m
我在玩 elm-css . 大多数事情都按我的预期工作。 但是我无法为 Css.opacity 提供正确的值功能。 这是我尝试过的: Css.opacity 0.5 这给出了错误: Function
创建 ELM 页面并使用 (elm-reactor) 成功运行后,我已经编译它来生成 js 文件并使用浏览器打开它。 使用以下命令:elm-make pageName.elm --output tar
创建 ELM 页面并使用 (elm-reactor) 成功运行后,我已经编译它来生成 js 文件并使用浏览器打开它。 使用以下命令:elm-make pageName.elm --output tar
处理空(根本没有字符串)响应的最佳方法是什么? 尽管响应代码是 200,但 Elm 会返回错误,因为空响应不是有效的 JSON。 这是我当前的代码: decodeAlwaysTrue : Json.D
我已经安装了 elm-format 软件包(使用 amp install elm-format),并且我想从命令行运行它,例如 elm-format mypage.elm 为了从命令行运行它,它应该在
在此处查看已接受答案的建议的完整实现:https://github.com/afcastano/elm-nested-component-communication =================
我正在学习 Elm,让我感到困惑的一件事是“Json.Decode.succeed”。根据docs succeed : a -> Decoder a Ignore the JSON and produ
elm/http 1.0.0 将 Http.Error 定义为 type Error = BadUrl String | Timeout | NetworkError
我是一名优秀的程序员,十分优秀!