gin框架在 中间件 或 handler 中使用 goroutine

需要写一个中间件来投递请求日志,为了不影响响应效率,使用了协程方式,逻辑代码如下:
// 日志投递
func AddLogToOpdbLog() gin.HandlerFunc {
return func(c *gin.Context) {
go func() {
token := c.DefaultQuery("token", "")
// 投递日志操作
}()
c.Next()
}
}

首先,此中间放在最后的位置,确保最后被执行。
我使用的是postman发起的请求,使用的是form-data,参数是一样的,就是连续多点几次。
然而在测试的过程中,发现,偶尔无法从c中获取到请求参数。
将请求方式改成x-www-form-urlencoded,也是一样的。
从逻辑上来讲,中间件中的c已经是内核对参数解析完之后了

gin框架在 中间件 或 handler 中使用 goroutine最先出现在Python成神之路

版权声明:
作者:siwei
链接:https://www.techfm.club/p/8679.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>