Un Future
rappresenta il risultato di un'operazione asincrona.
Al momento della creazione, probabilmente non contiene dati sui risultati.
Al termine dell'operazione, Future
riceve il risultato.
Un'applicazione può chiamare il metodo get_result()
di un oggetto Future
. Se il risultato è arrivato, il metodo lo restituisce. In caso contrario, attende che il risultato venga visualizzato e poi lo restituisce.
Nota:non esiste una mappatura 1:1 tra RPC e Futures. Più future potrebbero essere collegate al risultato di una singola RPC.
Metodi istanza
- check_success()
- Controlla se l'operazione è riuscita. Attende, se necessario.
Genera un'eccezione se si è verificato un problema; restituisce
None
se non si è verificato alcun problema. - done()
- Restituisce
True
se il risultato (o l'eccezione) è arrivato, altrimenti restituisceFalse
. Questa funzione non attende. - get_exception()
- Attende se necessario, quindi restituisce l'eccezione (o
None
se non è stata generata alcuna eccezione). Restituisce l'eccezione, non la solleva. - get_result()
- Attende, se necessario, quindi restituisce il risultato o solleva l'eccezione.
- get_traceback()
- Attende, se necessario, quindi restituisce l'oggetto traceback
dell'eccezione (o
None
se non è presente alcun oggetto traceback). Il modulotraceback
di Python contiene funzioni per stampare e utilizzare gli oggetti traceback. - wait()
- Attende l'arrivo di un risultato o di un'eccezione.
Restituisce sempre
None
.
Metodi di classe
- wait_all(futures)
- Attendi il completamento di tutti i
Futures
nell'iterable passato.Argomenti
- futures
- Iterable di oggetti
Future
.
Restituisce
None
. - wait_any(futures)
- Attendi il completamento di almeno uno di un iterable di
Futures
.Argomenti
- futures
- Iterable di oggetti
Future
.
Restituisce un
Future
completato. RestituisceNone
se l'iterablefutures
è vuoto.