处理空(完全没有字符串)响应的最佳方法是什么?
虽然响应代码是200,但Elm会返回错误,因为空响应不是有效的JSON。
这是我目前的代码:
decodeAlwaysTrue : Json.Decode.Decoder Bool
decodeAlwaysTrue =
Json.Decode.succeed True
Http.send Http.defaultSettings httpConfig
|> Http.fromJson decodeAlwaysTrue
|> Task.perform FetchFail DeleteUserSuccess
EDIT1:
这是一个POST操作,因此我无法使用getString。
答案 0 :(得分:3)
您可以使用Http
模块中的getString
功能。这将返回从HTTP请求返回的任何字符串,而不尝试将其转换为Json值。
如果您需要使用Http.send
,那么您可以执行以下操作:
Http.send Http.defaultSettings httpConfig
|> Task.perform FetchFail (always DeleteUserSuccess)
这假设DeleteUserSuccess
被更改为没有类型参数定义:
type Msg =
...
DeleteUserSuccess
答案 1 :(得分:0)
看起来你永远不会回复Json的回复,所以你可能会更好地使用Http.getString
type Result = FetchFail Error
| DeleteUserSuccess
Http.getString address
|> Task.perform FetchFail (\s -> DeleteUserSuccess)
由于成功获取不包含任何信息,您可以忽略它并返回DeleteUserSuccess
,无论字符串的内容如何。