Sobes.tech
Junior

Da li metoda data task radi sinhrono ili asinhrono?

sobes.tech АИ

Одговор од АИ

Asinhrono.

// URLSessionDataTask se izvršava asinhrono.
// On odmah vraća kontrolu,
// a rezultat (podatci, odgovor, greška) se prenosi u handler za završetak
// nakon što se mrežni zahtev završi u pozadinskom thread-u.
let task = URLSession.shared.dataTask(with: url) { data, response, error in
    // Ovaj blok koda se izvršava asinhrono
    // nakon što se primi odgovor od servera ili dođe do greške.
    if let data = data {
        print("Primljeni podaci: \(data.count) bajta")
    } else if let error = error {
        print("Greška: \(error.localizedDescription)")
    }
}

// Pokrećemo zadatak.
// Metoda resume() jednostavno stavlja zadatak u red.
task.resume()

// Kod nakon task.resume() se izvršava odmah,
// bez čekanja na završetak mrežnog zahteva.
print("Zadatak pokrenut...")