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...")