Назад к вопросам
Junior
303
questionbank

Выполняет ли метод data task синхронно или асинхронно?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Асинхронно.

// URLSessionDataTask выполняется асинхронно.
// Он возвращает управление немедленно,
// а результат (дата, ответ, ошибка) передается в completion handler
// после завершения сетевого запроса в фоновом потоке.
let task = URLSession.shared.dataTask(with: url) { data, response, error in
    // Этот блок кода выполняется асинхронно
    // после получения ответа от сервера или возникновения ошибки.
    if let data = data {
        print("Received data: \(data.count) bytes")
    } else if let error = error {
        print("Error: \(error.localizedDescription)")
    }
}

// Запускаем задачу.
// Метод resume() просто ставит задачу в очередь.
task.resume()

// Код после task.resume() выполняется немедленно,
// не дожидаясь завершения сетевого запроса.
print("Task started...")