Documentation ¶
Overview ¶
Package reerrgroup is a rewrite of errgroup
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Group ¶
type Group struct {
// contains filtered or unexported fields
}
A Group is a collection of goroutines working on subtasks that are part of the same overall task.
A zero Group is valid, has no limit on the number of active goroutines, and does not cancel on error.
func WithContext ¶
WithContext returns a new Group and an associated Context derived from ctx.
The derived Context is canceled the first time a function passed to Go returns a non-nil error or the first time Wait returns, whichever occurs first.
func (*Group) Go ¶
Go calls the given function in a new goroutine. It blocks until the new goroutine can be added without the number of active goroutines in the group exceeding the configured limit.
The first call to return a non-nil error cancels the group's context, if the group was created by calling WithContext. The error will be returned by Wait.
func (*Group) SetAfterTasks ¶
func (*Group) SetBeforeTasks ¶
func (*Group) TryGo ¶
TryGo calls the given function in a new goroutine only if the number of active goroutines in the group is currently below the configured limit.
The return value reports whether the goroutine was started.
func (*Group) Wait ¶
Wait blocks until all function calls from the Go method have returned, then returns the first non-nil error (if any) from them.
func (*Group) WaitTaskDone ¶
func (g *Group) WaitTaskDone()
WaitTaskDone only wait all task done without cancel ctx and close taskChan.