Un objet Future
représente le résultat d'une opération asynchrone.
Lors de sa création, il ne contient probablement aucune donnée de résultat.
Une fois l'opération terminée, l'objet Future
récupère le résultat.
Une application peut appeler la méthode get_result()
d'un objet Future
: si le résultat est disponible, la méthode le renvoie. Sinon, elle attend qu'il soit disponible avant de le renvoyer.
Remarque : Il n'y a pas de mappage parfait entre les appels RPC et les objets Future. Plusieurs objets Future peuvent être liés au résultat d'un même appel RPC.
Méthodes des instances
- check_success()
- Vérifie si l'opération a réussi. La méthode attend le résultat, si nécessaire.
Une exception est générée si un problème est survenu, mais la valeur
None
est renvoyée si l'opération s'est déroulée sans problème. - done()
- Renvoie
True
si le résultat (ou l'exception) est disponible. Sinon, renvoieFalse
. Cette fonction n'attend pas le résultat. - get_exception()
- Attend l'exception si nécessaire, puis la renvoie (ou
None
s'il n'y a pas eu d'exception). La méthode renvoie l'exception, mais ne la génère pas. - get_result()
- Attend le résultat si nécessaire, puis le renvoie ou génère l'exception.
- get_traceback()
- Attend le résultat si nécessaire, puis renvoie l'objet traceback de l'exception (ou
None
s'il n'y a pas eu d'objet traceback). Le moduletraceback
de Python dispose de fonctions permettant d'afficher et d'utiliser des objets traceback. - wait()
- Attend un résultat ou une exception.
Renvoie toujours
None
.
Méthodes des classes
- wait_all(futures)
- Attend que tous les objets
Futures
de l'itérable transmis obtiennent un résultat.Arguments
- futures
- Itérable des objets
Future
.
Cela renvoie
None
. - wait_any(futures)
- Attend qu'au moins un objet d'itérable
Futures
obtienne un résultat.Arguments
- futures
- Itérable des objets
Future
.
Renvoie un objet
Future
qui a obtenu un résultat. (RenvoieNone
si l'itérablefutures
est vide.)