相关疑难解决方法(0)

如果我不取消上下文会怎么样?

我有以下代码:

func Call(ctx context.Context, payload Payload) (Response, error) {
    req, err := http.NewRequest(...) // Some code that creates request from payload
    ctx, cancel = context.withTimeout(ctx, time.Duration(3) * time.Second)
    defer cancel()
    return http.DefaultClient.Do(req)
}
Run Code Online (Sandbox Code Playgroud)

如果我没有放入defer cancel()那里会怎么样? go vet警告过这个

context.WithTimeout返回的cancel函数应该被调用,而不是被丢弃,以避免上下文泄漏

上下文将如何泄露以及这将产生什么影响?谢谢

go

17
推荐指数
2
解决办法
5419
查看次数

标签 统计

go ×1