Ein Future
stellt das Ergebnis eines asynchronen Vorgangs dar.
Bei der Erstellung hat es wahrscheinlich keine Ergebnisdaten.
Wenn der Vorgang abgeschlossen ist, erhält das Future
das Ergebnis.
Eine Anwendung kann die Methode get_result()
eines Future
-Objekts aufrufen. Wenn das Ergebnis eingegangen ist, wird es durch die Methode zurückgegeben. Andernfalls wird auf das Ergebnis gewartet und dann wird es zurückgegeben.
Hinweis: Es gibt keine 1:1-Zuordnung zwischen RPCs und Futures. Mehrere Futures können an ein Ergebnis eines einzelnen RPC gebunden sein.
Instanzmethoden
- check_success()
- Prüft, ob der Vorgang erfolgreich war. Wartet, wenn nötig.
Löst eine Ausnahme aus, wenn ein Problem aufgetreten ist. Gibt
None
zurück, wenn kein Problem aufgetreten ist. - done()
- Gibt
True
zurück, wenn das Ergebnis (oder die Ausnahme) eingegangen ist. Andernfalls wirdFalse
zurückgegeben. Diese Funktion wartet nicht. - get_exception()
- Wartet, falls erforderlich. Gibt dann die Ausnahme zurück (oder
None
, wenn es keine Ausnahme gab). Gibt die Ausnahme zurück, löst sie aber nicht aus. - get_result()
- Wartet, falls erforderlich. Gibt dann das Ergebnis zurück oder löst die Ausnahme aus.
- get_traceback()
- Wartet, falls erforderlich. Gibt dann das Traceback-Objekt der Ausnahme zurück (oder
None
, wenn kein Traceback-Objekt vorhanden ist). Dastraceback
-Modul von Python hat Funktionen für die Anwendung von Traceback-Objekten und deren Ausgabe. - wait()
- Wartet, bis ein Ergebnis oder eine Ausnahme eingeht.
Gibt immer
None
zurück.
Klassenmethoden
- wait_all(futures)
- Wartet, bis alle
Futures
in der übergebenen Iteration abgeschlossen sind.Argumente
- futures
- Iteration von
Future
-Objekten.
Gibt
None
zurück. - wait_any(futures)
- Wartet, bis mindestens eine Iteration von
Futures
abgeschlossen ist.Argumente
- futures
- Iteration von
Future
-Objekten.
Gibt ein abgeschlossenes
Future
zurück. (GibtNone
zurück, wenn die Iterationfutures
leer ist.)