Sobes.tech
Junior

Дали методът data task се изпълнява синхронно или асинхронно?

sobes.tech AI

Отговор от AI

Асинхронно.

// URLSessionDataTask се изпълнява асинхронно.
// Връща управлението незабавно,
// а резултатът (данни, отговор, грешка) се предава на обработчика за завършване
// след като мрежовата заявка приключи във фонов поток.
let task = URLSession.shared.dataTask(with: url) { data, response, error in
    // Този блок код се изпълнява асинхронно
    // след получаване на отговора от сървъра или при грешка.
    if let data = data {
        print("Получени данни: \(data.count) байта")
    } else if let error = error {
        print("Грешка: \(error.localizedDescription)")
    }
}

// Стартираме задачата.
// Методът resume() просто поставя задачата в опашката.
task.resume()

// Кодът след task.resume() се изпълнява незабавно,
// без да чака завършването на мрежовата заявка.
print("Задачата стартирана...")