Clase Future de NDB

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, devuelve False. 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ódulo traceback 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. Devuelve None si el iterable futures está vacío.