Un Future
representa el resultado de una operación asíncrona.
Cuando se crea, es muy probable que no tenga ningún dato de resultado.
Una vez que finaliza la operación, Future
obtiene el resultado.
Una aplicación puede llamar al método get_result()
de un objeto Future
; si el resultado llegó, el método lo muestra; si no, espera a que llegue y, entonces, lo muestra.
Nota: No hay un mapeo de uno a uno entre RPC y Futures. Varios futures pueden estar ligados a un resultado desde una sola RPC.
Métodos de instancia
- check_success()
- Verifica si la operación fue exitosa. Espera si es necesario.
Si hubo un problema, se genera una excepción. De lo contrario, muestra
None
. - done()
- Muestra
True
si el resultado (o la excepción) llegó; de lo contrario, muestraFalse
. Esta función no espera. - get_exception()
- Si es necesario, espera; luego, muestra la excepción (o
None
si no hubo ninguna excepción). Muestra la excepción, no la genera. - get_result()
- Si es necesario, espera; luego, muestra el resultado o genera la excepción.
- get_traceback()
- Si es necesario, espera; luego, muestra el objeto traceback de la excepción (o
None
si no hubo ningún objeto traceback). El módulotraceback
de Python tiene funciones para imprimir y trabajar con objetos traceback. - wait()
- Espera hasta que llega un resultado o una excepción.
Siempre muestra
None
.
Métodos de clase
- wait_all(futures)
- Espera hasta que todos los
Futures
en el iterable pasado estén listos.Argumentos
- futures
- Iterable de objetos
Future
.
Muestra
None
. - wait_any(futures)
- Espera hasta que al menos uno de los iterables de
Futures
esté listo.Argumentos
- futures
- Iterable de objetos
Future
.
Muestra un
Future
que esté listo. MuestraNone
si el iterablefutures
está vacío.