发生错误时如何关闭websockethandle

时间:2018-12-19 08:36:56

标签: go websocket gin

sys.stdout

当我使用func WsConnectionHandle(ctx *gin.Context){ ws, err := upgrader.Upgrade(ctx.Writer, ctx.Request, nil) if err != nil{ config.Error.Println("connect err", err.Error()) //config.Error.Fatalln("connect err") ctx.Abort() } ... 时,它仍然运行下面的代码,如果我使用Fatalln,我的主进程将停止〜

这是我的路由器

ctx.Abort()

1 个答案:

答案 0 :(得分:2)

嗯,ctx.Abort()是一个函数调用,仅此而已。它不会影响调用它的函数的流程/范围。如果您不想在调用ctx.Abort()之后执行任何操作,则只需return即可退出该函数:

if err != nil {
    log.Printf("some error: %+v", err)
    ctx.Abort()
    return // exit function
}