Skip to content

Commit 0f887d2

Browse files
committed
Remove unnecessary checks
1 parent 12d6fc4 commit 0f887d2

File tree

1 file changed

+12
-44
lines changed

1 file changed

+12
-44
lines changed

gollback.go

Lines changed: 12 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -21,38 +21,23 @@ type Gollback interface {
2121
type gollback struct {
2222
gollbacks []AsyncFunc
2323
ctx context.Context
24-
cancel context.CancelFunc
2524
}
2625

2726
type response struct {
28-
res interface{}
29-
err error
30-
index int
27+
res interface{}
28+
err error
3129
}
3230

3331
func (p *gollback) Race(fns ...AsyncFunc) (interface{}, error) {
3432
out := make(chan *response, 1)
3533

3634
for i, fn := range fns {
3735
go func(index int, f AsyncFunc) {
38-
for {
39-
select {
40-
case <-p.ctx.Done():
41-
return
42-
default:
43-
var r response
44-
r.res, r.err = f(p.ctx)
45-
46-
if p.ctx.Err() != nil {
47-
return
48-
}
49-
50-
if r.err == nil || index == len(fns)-1 {
51-
p.cancel()
52-
out <- &r
53-
}
54-
return
55-
}
36+
var r response
37+
r.res, r.err = f(p.ctx)
38+
39+
if r.err == nil || index == len(fns)-1 {
40+
out <- &r
5641
}
5742
}(i, fn)
5843
}
@@ -73,29 +58,15 @@ func (p *gollback) All(fns ...AsyncFunc) ([]interface{}, []error) {
7358
go func(index int, f AsyncFunc) {
7459
defer wg.Done()
7560

76-
for {
77-
select {
78-
case <-p.ctx.Done():
79-
return
80-
default:
81-
var r response
82-
r.res, r.err = f(p.ctx)
83-
84-
if p.ctx.Err() != nil {
85-
return
86-
}
87-
88-
rs[index] = r.res
89-
errs[index] = r.err
61+
var r response
62+
r.res, r.err = f(p.ctx)
9063

91-
return
92-
}
93-
}
64+
rs[index] = r.res
65+
errs[index] = r.err
9466
}(i, fn)
9567
}
9668

9769
wg.Wait()
98-
p.cancel()
9970

10071
return rs, errs
10172
}
@@ -106,10 +77,7 @@ func New(ctx context.Context) Gollback {
10677
ctx = context.Background()
10778
}
10879

109-
ctxWithCancel, cancel := context.WithCancel(ctx)
110-
11180
return &gollback{
112-
ctx: ctxWithCancel,
113-
cancel: cancel,
81+
ctx: ctx,
11482
}
11583
}

0 commit comments

Comments
 (0)