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
Nonezurück, wenn kein Problem aufgetreten ist. - done()
- Gibt
Truezurück, wenn das Ergebnis (oder die Ausnahme) eingegangen ist. Andernfalls wirdFalsezurü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
Nonezurück.
Klassenmethoden
- wait_all(futures)
- Wartet, bis alle
Futuresin der übergebenen Iteration abgeschlossen sind.Argumente
- futures
- Iteration von
Future-Objekten.
Gibt
Nonezurück. - wait_any(futures)
- Wartet, bis mindestens eine Iteration von
Futuresabgeschlossen ist.Argumente
- futures
- Iteration von
Future-Objekten.
Gibt ein abgeschlossenes
Futurezurück. (GibtNonezurück, wenn die Iterationfuturesleer ist.)