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) bytes")
} else if let error = error {
print("Σφάλμα: \(error.localizedDescription)")
}
}
// Ξεκινάμε την εργασία.
// Η μέθοδος resume() απλώς βάζει την εργασία στη σειρά.
task.resume()
// Ο κώδικας μετά το task.resume() εκτελείται αμέσως,
// χωρίς να περιμένει την ολοκλήρωση του δικτύου.
print("Εργασία ξεκίνησε...")