Sobes.tech
Junior — Middle

Pouvez-vous expliquer ce qu'est la programmation asynchrone dans le contexte de la construction Async/Await?

sobes.tech IA

Réponse de l'IA

La programmation asynchrone avec Async/Await permet d'écrire du code qui effectue des opérations longues (par exemple, des requêtes réseau ou la lecture de fichiers) sans bloquer le fil d'exécution principal. L'idée clé est qu'une fonction marquée comme async peut suspendre son exécution à l'instruction await, en attendant la fin d'une opération asynchrone, sans bloquer le fil.

Cela simplifie la gestion de l'asynchronie, rendant le code plus lisible et ressemblant à une séquence, contrairement aux callbacks imbriqués ou aux chaînes de promesses.

Exemple en Swift:

func fetchData() async throws -> Data {
    let url = URL(string: "https://example.com/data.json")!
    let (data, _) = try await URLSession.shared.data(from: url)
    return data
}

Task {
    do {
        let data = try await fetchData()
        print("Données reçues : \(data)")
    } catch {
        print("Erreur : \(error)")
    }
}