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
Nonesi no ha habido ningún problema. - done()
- Devuelve
Truesi 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
Nonesi 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
Nonesi no hay ningún objeto de seguimiento). El módulotracebackde 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
Futuresdel 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
Futureque se ha completado. DevuelveNonesi el iterablefuturesestá vacío.