gpt4 book ai didi

http - 使用 RemoteData 解码非 JSON 响应

转载 作者:可可西里 更新时间:2023-11-01 16:25:31 25 4
gpt4 key购买 nike

我想使用 RemoteData 来表示一些非 JSON 数据,但我不知道将自定义解码器贴在何处。我有这些类型:

Http.getString : String -> Request String
RemoteData.sendRequest : Request a -> Cmd (WebData a)
Foo.decode : String -> Result String (List Foo)

现在我想要一个 ReceiveFoos (RemoteData String (List Foo)) 消息来接收已经解码(或失败)的响应。我该怎么做?

或者,一般来说,我能否以某种方式向 Http.get 提供我自己的 String -> Something 解码器,类似于开箱即用支持的 JSON 解码情况?

最佳答案

您可以使用 expectStringResponse使用自定义解码器构建自定义请求。

例如,这是 Http.get 的一个变体,它允许您指定一个接收完整字符串响应主体的解码器:

getStringResponse : String -> (Http.Response String -> Result String a) -> Http.Request a
getStringResponse url decoder =
Http.request
{ method = "GET"
, headers = []
, url = url
, body = Http.emptyBody
, expect = Http.expectStringResponse decoder
, timeout = Nothing
, withCredentials = False
}

(注意这看起来很像 implementation of the JSON version, Http.get )

关于http - 使用 RemoteData 解码非 JSON 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49600185/

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