Junior
Ar duomenų užduoties metodas veikia sinchroniškai ar asinchroniškai?
sobes.tech AI
Atsakymas iš AI
Asinchroniškai.
// URLSessionDataTask vykdomas asinchroniškai.
// Jis nedelsiant grąžina valdymą,
// o rezultatas (duomenys, atsakymas, klaida) perduodamas užbaigimo tvarkyklės funkcijai
// po to, kai tinklo užklausa baigiasi fono sraute.
let task = URLSession.shared.dataTask(with: url) { data, response, error in
// Šis kodo blokas vykdomas asinchroniškai
// po serverio atsakymo arba klaidos gavimo.
if let data = data {
print("Gauti duomenys: \(data.count) baitų")
} else if let error = error {
print("Klaida: \(error.localizedDescription)")
}
}
// Pradedame užduotį.
// resume() metodas paprasčiausiai įdeda užduotį į eilę.
task.resume()
// Kodas po task.resume() vykdomas nedelsiant,
// nesulaukiant tinklo užklausos pabaigos.
print("Užduotis pradėta...")