【问题标题】:How to stop perform request created with HTTPClient如何停止执行使用 HTTPClient 创建的请求
【发布时间】:2016-08-03 02:26:21
【问题描述】:

如何通过回调或类似 cURL 中的类似条件来停止执行例如音频或视频流的请求?

【问题讨论】:

标签: multithreading http go


【解决方案1】:

我相信您正在寻找的是context package。 golang.org 上有一篇很好的博客文章解释了如何使用它here

它的要点是,您创建一个上下文对象,并将其传递给执行流式传输的 goroutine。在您的调用者 goroutine 中,您可以取消上下文或设置超时。在流式 goroutine 中,您必须检查 context.Done() 并采取相应措施。

如果该操作实际上是您要取消的 http 请求,您可以在 transport level 处执行(当您在 context.Done() 上收到消息时)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-07
    相关资源
    最近更新 更多