Каковы основные различия между Местные мероприятия и Побочный эффект? На первый взгляд они оба кажутся похожими, где Локальная активность является надмножеством. Когда пользователь должен предпочесть побочный эффект локальной активности.
SideEffect
не поддерживает обработку ошибок. В случае сбоя он по существу блокирует выполнение рабочего процесса (путем паники при решении задачи). Он также выполняется в той же горутине, что и код рабочего процесса.
LocalActivity
выполняется в отдельной горутине и поддерживает обработку ошибок, включая автоматические повторные попытки через RetryOptions
.
Поэтому используйте SideEffect
только для очень краткосрочных операций, от которых не ожидается сбоя. Или, если они терпят неудачу, можно заблокировать выполнение рабочего процесса. Генерация UUID — хороший пример такой операции.