Un Future rappresenta il risultato di un'operazione asincrona.
Quando viene creato, probabilmente non contiene dati dei 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; altrimenti, attende che arrivi e poi lo restituisce.
Nota:non esiste una mappatura 1:1 tra RPC e Futures. Più future potrebbero essere collegati a un risultato di una singola RPC.
Metodi dell'istanza
- check_success()
- Controlla se l'operazione è riuscita. Attende se necessario.
Genera un'eccezione se si è verificato un problema; restituisce
Nonese non si è verificato alcun problema. - done()
- Restituisce
Truese il risultato (o l'eccezione) è arrivato; altrimenti, restituisceFalse. Questa funzione non attende. - get_exception()
- Attende se necessario, quindi restituisce l'eccezione (o
Nonese non è stata rilevata alcuna eccezione). Returns l'eccezione, non la genera. - get_result()
- Attende se necessario, quindi restituisce il risultato o genera l'eccezione.
- get_traceback()
- Attende se necessario, quindi restituisce l'oggetto traceback dell'eccezione (o
Nonese non è presente alcun oggetto traceback). Il modulotracebackdi Python ha funzioni per stampare e utilizzare gli oggetti traceback. - wait()
- Attende l'arrivo di un risultato o di un'eccezione.
Restituisce sempre
None.
Metodi della classe
- wait_all(futures)
- Attendi il completamento di tutte le
Futuresnell'iterabile passata.Argomenti
- futures
- Iterable di
Futureoggetti.
Restituisce
None. - wait_any(futures)
- Attendi il completamento di almeno uno degli elementi di un iterabile di
Futures.Argomenti
- futures
- Iterable di
Futureoggetti.
Restituisce un
Futurecompletato. (RestituisceNonese l'iterabilefuturesè vuoto.)