1. 首页
  2. 主题
  3. Gin

Gin框架使用goroutine中处理模型绑定遇到问题,请教。

haojiale · · 2626 次点击
在gin代码中使用了goroutine处理POST请求过来的json数据 以下示例代码中,绑定请求获得的data,经常除了第一次有数据以外,其它请求获得都是一个空map,这个代码有什么问题? 有没有老大指教一下 ``` package main import ( "fmt" "github.com/gin-gonic/gin" ) func main() { r := gin.Default() r.POST("/task", task) r.Run() } func task(c *gin.Context) { cc := c.Copy() go func (c *gin.Context) { data := make(map[string]interface{}) c.ShouldBindJSON(&data) fmt.Println("task start") fmt.Println(data) fmt.Println("task end") } (cc) c.JSON(200, gin.H{ "result": "success", }) } ```
``` data := make(map[string]interface{}) c.ShouldBindJSON(&data) ``` 把它放到goroutine之外呢,参数传data
#1
更多评论
感谢! 放在goroutine之外是正常的,目前应该是需要这么做才能继续了。 但是还是想搞清楚为什么放进goroutine之内会造成这样的结果。
#2
我试了下 没有发现data为空的情况 你是怎么触发的 并发请求?
#3

用户登录

没有账号?注册

今日阅读排行

    加载中

一周阅读排行

    加载中