如何通过像cURL那样的回调或类似条件停止执行音频或视频流的请求?
答案 0 :(得分:1)
我相信你要找的是context package。 golang.org上有一篇很好的博客文章,解释了如何使用它here。
它的要点是,您创建一个上下文对象,并将其传递给正在执行流式传输的goroutine。在您的调用者goroutine中,您可以取消上下文或设置超时。在流媒体goroutine中,您必须检查context.Done()
并采取相应行动。
如果该操作实际上是您要取消的http请求,则可以在transport level处执行此操作(当您在context.Done()
上收到消息时)