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

Джун боится, что await на главном акторе заморозит экран на время запроса

@MainActor
final class ProfileViewModel: ObservableObject {
    @Published var profile: Profile?

    func load() async {
        profile = try? await api.profile()   // запрос идёт 2 секунды
    }
}

Что происходит с главным потоком эти 2 секунды?

  • Свободен: задача приостановлена до ответа
  • Заблокирован: код на главном акторе ждёт
  • Заблокирован, если нет DispatchQueue.global
  • Свободен, только если запрос через Alamofire

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

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

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

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