Sobes.tech
Junior

Czy metoda data task działa synchronicznie czy asynchronicznie?

sobes.tech AI

Odpowiedź od AI

Asynchronicznie.

// URLSessionDataTask jest wykonywany asynchronicznie.
// Zwraca kontrolę natychmiastowo,
// a wynik (dane, odpowiedź, błąd) jest przekazywany do obsługi końcowej
// po zakończeniu żądania sieciowego w tle.
let task = URLSession.shared.dataTask(with: url) { data, response, error in
    // Ten blok kodu jest wykonywany asynchronicznie
    // po otrzymaniu odpowiedzi od serwera lub wystąpieniu błędu.
    if let data = data {
        print("Odebrane dane: \(data.count) bajtów")
    } else if let error = error {
        print("Błąd: \(error.localizedDescription)")
    }
}

// Uruchamiamy zadanie.
// Metoda resume() po prostu umieszcza zadanie w kolejce.
task.resume()

// Kod po task.resume() jest wykonywany natychmiastowo,
// bez oczekiwania na zakończenie żądania sieciowego.
print("Zadanie rozpoczęte...")