Um Future
representa o resultado de uma
operação assíncrona.
Quando é criado, é provável que não tenha dados de resultados.
Quando a operação termina, o Future
recebe o resultado.
Uma aplicação pode chamar o método get_result()
de um objeto Future
. Se o resultado tiver chegado, o método devolve-o. Caso contrário, aguarda que o resultado chegue e , em seguida, devolve-o.
Nota: não existe um mapeamento 1:1 entre RPCs e Futures. Vários objetos Future podem estar associados a um resultado de um único RPC.
Métodos de instância
- check_success()
- Verifique se a operação foi bem-sucedida. Espera, se necessário.
Gera uma exceção se tiver ocorrido um problema; devolve
None
se não tiver ocorrido nenhum problema. - done()
- Devolve
True
se o resultado (ou a exceção) tiver chegado; caso contrário, devolveFalse
. Esta função não espera. - get_exception()
- Aguarda, se necessário; em seguida, devolve a exceção (ou
None
se não tiver ocorrido nenhuma exceção). Devolve a exceção, não a gera. - get_result()
- Aguarda, se necessário; em seguida, devolve o resultado ou gera a exceção.
- get_traceback()
- Espera, se necessário; em seguida, devolve o objeto de rastreio da exceção (ou
None
se não existir nenhum objeto de rastreio). O módulotraceback
do Python tem funções para imprimir e trabalhar com objetos de rastreio. - wait()
- Aguarda até chegar um resultado ou uma exceção.
Devolve sempre
None
.
Métodos de classe
- wait_all(futures)
- Aguarde até que todas as
Futures
no iterável passado estejam concluídas.Argumentos
- futures
- Iterable de
Future
objetos.
Devoluções
None
. - wait_any(futures)
- Aguarde até que, pelo menos, um dos elementos de um iterável de
Futures
esteja concluído.Argumentos
- futures
- Iterable de
Future
objetos.
Devolve um
Future
que está concluído. (DevolveNone
se o iterávelfutures
estiver vazio.)