为了账号安全,请及时绑定邮箱和手机立即绑定

如何过早关闭/中止 Golang http.Client POST

如何过早关闭/中止 Golang http.Client POST

Go
白衣染霜花 2021-09-27 10:04:51
我http.Client用于长轮询的客户端实现:resp, err := client.Post(url, "application/json", bytes.NewBuffer(jsonPostBytes))if err != nil {    panic(err)}defer resp.Body.Close()var results []*ResponseMessageerr = json.NewDecoder(resp.Body).Decode(&results)  // code blocks here on long-poll有没有标准的方法来抢先/取消来自客户端的请求?我想调用resp.Body.Close()会做到这一点,但我必须从另一个 goroutine 调用它,因为客户端通常已经在读取长轮询的响应时被阻止。我知道有一种方法可以通过 设置超时http.Transport,但我的应用程序逻辑需要根据用户操作进行取消,而不仅仅是超时。
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 232 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信