Вопрос: Как использовать `errgroup` для конкурентных задач с общей отменой?
Python
Middle
Без компании
Вопрос: Как использовать `errgroup` для конкурентных задач с общей отменой?
Ответы
```go
// golang.org/x/sync/errgroup
g, ctx := errgroup.WithContext(context.Background())
g.Go(func() error { return task1(ctx) })
g.Go(func() error { return task2(ctx) })
if err := g.Wait(); err != nil {
// первая ошибка отменит ctx
}
```
**Как это работает:** `errgroup` отменяет общий контекст при первой ошибке, упрощая конкурентный контроль ошибок.