}
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)
}()
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)
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{}{}
}