Skip to content

请教关于StdContext的一个疑问 #103

@0x4c5

Description

@0x4c5

源代码位置:https://github.com/xinliangnote/go-gin-api/blob/master/internal/pkg/core/context.go:line 392
// RequestContext (包装 Trace + Logger) 获取请求的 context (当client关闭后,会自动canceled)
func (c *context) RequestContext() StdContext {
return StdContext{
//c.ctx.Request.Context(),
stdctx.Background(),
c.Trace(),
c.Logger(),
}
}

为何不用c.ctx.Request.Context();个人理解一个请求应该保持一个ctx,这样在请求退出的时候,会保证所有协程都收到结束指令;为何要用一个全新的ctx呢?还望大佬给解惑🙏🙏

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions