Вступить в клуб →
лёгкаявопросSwift Concurrency: Task, акторы и MainActor

Кнопка «Обновить» не компилируется: async call in a function that does not support concurrency

Button("Обновить") {
    await viewModel.reload()
}

reload() объявлен как func reload() async. Компилятор выдаёт ошибку: 'async' call in a function that does not support concurrency. Как вызвать метод из действия кнопки?

  • Обернуть вызов в Task { await ... }
  • Пометить замыкание кнопки как async
  • Вызвать reload() без await
  • Обернуть вызов в DispatchQueue.main.async

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела