Sobes.tech
Middle

Quel est le rôle de l'opérateur future en programmation?

sobes.tech IA

Réponse de l'IA

L'opérateur future en programmation représente un objet qui sert à obtenir le résultat d'une opération asynchrone dans le futur. Il permet de lancer une tâche qui s'exécute en parallèle ou de manière asynchrone, puis d'obtenir son résultat lorsque celui-ci devient disponible.

Rôle de future :

  • Permet de ne pas bloquer le fil principal, en attendant la fin de la tâche.
  • Fournit un mécanisme de synchronisation et de récupération du résultat.
  • Est souvent utilisé avec promise ou d'autres mécanismes pour transmettre le résultat.

Exemple en Swift avec Future de Combine :

import Combine

func fetchData() -> Future<String, Error> {
    return Future { promise in
        DispatchQueue.global().async {
            // simulation d'une requête réseau
            let data = "Données"
            promise(.success(data))
        }
    }
}

let future = fetchData()
let cancellable = future.sink(receiveCompletion: { completion in
    switch completion {
    case .finished:
        print("Terminé")
    case .failure(let error):
        print("Erreur : \(error)")
    }
}, receiveValue: { value in
    print("Valeur reçue : \(value)")
})

Ainsi, future aide à organiser le code asynchrone de manière plus pratique et lisible.