func()

in task.go [60:78]


func (t *Task[T]) Wait(ctx context.Context) error {
	// return immediately if task already in terminal state.
	if t.finished() {
		return t.err
	}

	ch := make(chan any)
	go func() {
		t.waitGroup.Wait()
		close(ch)
	}()

	select {
	case <-ch:
		return t.err
	case <-ctx.Done():
		return ctx.Err()
	}
}