From fbbf957292e8210995a44a25c1ba7fa7e8f8c2d8 Mon Sep 17 00:00:00 2001 From: qydysky Date: Sat, 18 Nov 2023 13:31:45 +0800 Subject: [PATCH] 1 --- component/Component.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/component/Component.go b/component/Component.go index cd7e912..7eca9db 100644 --- a/component/Component.go +++ b/component/Component.go @@ -22,7 +22,7 @@ func NewComp[T any](deal func(ctx context.Context, ptr T) error) *Component[T] { } func (t *Component[T]) Run(ctx context.Context, ptr T) error { - if t.del.Load() { + if t.del.Load() || t.deal == nil { return nil } return t.deal(ctx, ptr) @@ -88,7 +88,7 @@ func (t *Components[T]) Run(ctx context.Context, ptr T) error { }() for i := 0; i < len(t.comps); i++ { - if t.comps[i].del.Load() { + if t.comps[i].del.Load() || t.comps[i].deal == nil { continue } e := t.comps[i].deal(ctx, ptr) @@ -133,6 +133,10 @@ func (t *Components[T]) Start(ctx context.Context, ptr T, concurrency ...int) er wg.Add(len(t.comps)) for i := 0; i < len(t.comps); i++ { + if t.comps[i].del.Load() || t.comps[i].deal == nil { + wg.Done() + continue + } if con != nil { con <- struct{}{} } -- 2.39.2