Pour effectuer des tâches asynchrones avec dart, c'est relativement simple.
Il suffit d'importer le module suivant:
Il vous permettra d'avoir accès à la classe
Future et au mot-clé
async. (ce dernier permettant donc d'attacher une fonction de callback sur votre méthode/fonction)
Voici comment procéder:
myFunction().then((_){
/*your code */
});
Bien évidemment
myFunction() doit être déclarée de la façon suivante pour que ça fonctionne:
Future myFunction() async
{
/* do something */
/* La fonction doit forcément renvoyer un objet Future pour que la fonction puisse posséder une fonction de callback !*/
}
Gestion des exceptionsPour catcher les éventuelles erreurs, il vous faudra bien évidemment les déclarer dans le corps de votre fonction puis:
myFunction().then((_){
/*your code */
}, onError: (e){
print(e);
});
Vous pouvez également obtenir la trace de la pile en ajoutant un paramètre à la closure:
myFunction().then((_){
/*your code */
}, onError: (e, stack){
print(e);
print(stack);
});
Rattrapant alors les erreurs déclarées.