Différence entre Future et Completer dans Flutter
Dans Flutter, Futureet Completersont deux classes différentes liées à la programmation asynchrone.
A Futurereprésente une valeur qui sera disponible dans le futur. C'est une opération asynchrone qui se terminera à un moment donné, et quand elle le fera, elle renverra une valeur ou une erreur. Vous pouvez utiliser un Futurepour effectuer une opération en arrière-plan pendant que l'application reste réactive à l'utilisateur. Lorsque l'opération est terminée, vous pouvez mettre à jour l'interface utilisateur pour refléter le résultat.
A Completerest un moyen de créer un Futuremanuellement. Il fournit des méthodes pour terminer ou échouer explicitement le futur, vous permettant de contrôler quand il se termine. A Completerest utile lorsque vous devez attendre que plusieurs opérations asynchrones se terminent et combinent leurs résultats.
Voici un exemple pour illustrer la différence entre Futureet Completer:
// Using a Future
Future<int> fetchNumber() async {
// Simulate a network delay
await Future.delayed(Duration(seconds: 2));
return 42;
}
void main() async {
print("Start");
final number = await fetchNumber();
print("The answer is $number");
print("End");
}
// Output:
// Start
// The answer is 42
// End
// Using a Completer
Completer<int> fetchNumber() {
final completer = Completer<int>();
// Simulate a network delay
Future.delayed(Duration(seconds: 2), () {
completer.complete(42);
});
return completer;
}
void main() async {
print("Start");
final completer = fetchNumber();
final number = await completer.future;
print("The answer is $number");
print("End");
}
// Output:
// Start
// The answer is 42
// End
![Qu'est-ce qu'une liste liée, de toute façon? [Partie 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































