【一个经典BUG】gin框架中,异步协程使用context导致取不到数据

2022/9/7 23:23:04

本文主要是介绍【一个经典BUG】gin框架中,异步协程使用context导致取不到数据,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

bug的内容大致如下:

func httpHandle(c *gin.Context) {
    go func(ctx Context){
        v := ctx.Value("xxx")  // 这里取不到值,导致后续发生panic
    }(c)
}

1.发生panic是随机的;
2.问题的原因是:当协程开始使用context的时候,父级协程技术,gin框架回收了context。
context失效导致了问题。
gin框架如何回收context,还没搞明白。后续还要继续看看。



这篇关于【一个经典BUG】gin框架中,异步协程使用context导致取不到数据的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程