Elm - 通过 get 请求检索字符串
Elm - retrieving string via get request
我正在尝试发出获取字符串的请求
当我使用
retrieve : Task.Task Http.Error String
retrieve = getString "http://api.endpoint.com"
一切正常。
另一方面,如果我使用
retrieve : Task.Task Http.Error String
retrieve = get Json.Decode.string "http://api.endpoint.com"
http 请求完成,但链式任务未执行。
我的问题是:以上两种方法有什么区别?我对第二个做错了吗?如何调试?
getString
returns get 请求的响应为 String
。 get
使用 JSON 解码器并在 get 请求的响应上运行它。因此,如果您提供 Json.Decode.string
,它会期望响应中包含一个 Json 编码的字符串。所以它期望在响应中有额外的双引号。
如果您的 http 请求失败,最好的调试方法是查看您收到的错误类型。在这种情况下,您可能会得到 UnexpectedPayload
因为请求成功,但解码器失败。
我正在尝试发出获取字符串的请求
当我使用
retrieve : Task.Task Http.Error String
retrieve = getString "http://api.endpoint.com"
一切正常。
另一方面,如果我使用
retrieve : Task.Task Http.Error String
retrieve = get Json.Decode.string "http://api.endpoint.com"
http 请求完成,但链式任务未执行。
我的问题是:以上两种方法有什么区别?我对第二个做错了吗?如何调试?
getString
returns get 请求的响应为 String
。 get
使用 JSON 解码器并在 get 请求的响应上运行它。因此,如果您提供 Json.Decode.string
,它会期望响应中包含一个 Json 编码的字符串。所以它期望在响应中有额外的双引号。
如果您的 http 请求失败,最好的调试方法是查看您收到的错误类型。在这种情况下,您可能会得到 UnexpectedPayload
因为请求成功,但解码器失败。