栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

取消HTTP请求时关闭所有goroutines

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

取消HTTP请求时关闭所有goroutines

回显上下文公开了HTTP请求,该请求已具有已绑定到服务器请求的上下文。只需获取该上下文,并检查其是否取消,和/或将其传递给采用上下文的方法。

ctx := c.Request().Context()select {case <-ctx.Done():    return ctx.Err()default:    // Continue handling the request}// and pass along to the db or whatever else:rows, err := db.QueryContext(ctx, ...)

如果客户端中止连接,则请求范围的上下文将自动取消。

如果您想添加自己的取消条件(超时或其他条件),也可以这样做:

req := c.Request()ctx, cancel := context.WithCancel(req.Context())req.WithContext(ctx)defer cancel()// do stuff, which may conditionally call cancel() to cancel the context early


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/369387.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号