Un Future
representa el resultado de una operación asíncrona.
Cuando se crea, probablemente no tenga ningún dato de resultado.
Cuando finalice la operación, el Future
obtendrá el resultado.
Una aplicación puede llamar al método get_result()
de un objeto Future
. Si el resultado ha llegado, el método lo devuelve. De lo contrario, espera a que llegue el resultado y después lo devuelve.
Nota: No hay una asignación de uno a uno entre las llamadas a procedimientos remotos y los futuros. Se pueden vincular varios futuros a un resultado de una sola llamada a procedimiento remoto.
Métodos de instancia
- check_success()
- Comprueba si la operación se ha completado correctamente. Espera si es necesario.
Genera una excepción si ha habido algún problema. Devuelve
None
si no ha habido ningún problema. - done()
- Devuelve
True
si se ha recibido el resultado (o la excepción); de lo contrario, devuelveFalse
. Esta función no espera. - get_exception()
- Espera si es necesario y, a continuación, devuelve la excepción (o
None
si no se ha producido ninguna excepción). Devuelve la excepción, pero no la genera. - get_result()
- Espera si es necesario y, a continuación, devuelve el resultado o genera la excepción.
- get_traceback()
- Espera si es necesario y, a continuación, devuelve el objeto de seguimiento de la excepción (o
None
si no hay ningún objeto de seguimiento). El módulotraceback
de Python tiene funciones para imprimir y trabajar con objetos de seguimiento. - wait()
- Espera hasta que se obtenga un resultado o una excepción.
Siempre devuelve
None
.
Métodos de clase
- wait_all(futures)
- Espera hasta que se hayan completado todos los
Futures
del iterable proporcionado.Argumentos
- futuros
- Iterable de objetos
Future
.
Devuelve
None
. - wait_any(futures)
- Espera hasta que se complete al menos uno de los elementos de un iterable de
Futures
.Argumentos
- futuros
- Iterable de objetos
Future
.
Devuelve una
Future
que se ha completado. DevuelveNone
si el iterablefutures
está vacío.