fix: mergedContext.Value 遍历父 contexts 查找值

This commit is contained in:
wjqserver 2026-03-30 02:21:11 +08:00
parent 8dc7d8c136
commit d90d043811

View file

@ -75,7 +75,12 @@ func MergeCtx(parents ...context.Context) (ctx context.Context, cancel context.C
// Value 返回当前Ctx Value // Value 返回当前Ctx Value
func (mc *mergedContext) Value(key any) any { func (mc *mergedContext) Value(key any) any {
return mc.Context.Value(key) for _, p := range mc.parents {
if val := p.Value(key); val != nil {
return val
}
}
return nil
} }
// Deadline 实现了 context.Context 的 Deadline 方法. // Deadline 实现了 context.Context 的 Deadline 方法.