Sobes.tech
Junior

Le méthode data task s'exécute-t-elle de manière synchrone ou asynchrone?

sobes.tech IA

Réponse de l'IA

De manière asynchrone.

// URLSessionDataTask s'exécute de manière asynchrone.
// Il retourne le contrôle immédiatement,
// et le résultat (données, réponse, erreur) est transmis au gestionnaire de fin
// après que la requête réseau est terminée dans un thread en arrière-plan.
let task = URLSession.shared.dataTask(with: url) { data, response, error in
    // Ce bloc de code s'exécute de manière asynchrone
    // après réception de la réponse du serveur ou en cas d'erreur.
    if let data = data {
        print("Données reçues : \(data.count) octets")
    } else if let error = error {
        print("Erreur : \(error.localizedDescription)")
    }
}

// Démarrons la tâche.
// La méthode resume() met simplement la tâche en file d'attente.
task.resume()

// Le code après task.resume() s'exécute immédiatement,
// sans attendre la fin de la requête réseau.
print("Tâche démarrée...")