我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
提交
取消