Um Future representa o resultado de uma operação assíncrona.
Quando criado, ele provavelmente não tem dados de resultado.
Quando a operação termina, o Future recebe o resultado.
Um aplicativo pode chamar o método get_result() de um objeto Future. Se o resultado tiver chegado, o método vai retorná-lo. Do contrário, ele aguarda a chegada do resultado e depois o retorna.
Observação: não há mapeamento 1:1 entre RPCs e Futures. Vários futures podem estar vinculados a um resultado de uma única RPC.
Métodos de instância
- check_success()
- Verifica se a operação foi bem-sucedida. Aguarda, se necessário.
Gera uma exceção quando há um problema. Caso contrário, retorna
None. - done()
- Retorna
Truese o resultado (ou a exceção) tiver chegado. Do contrário, retornaFalse. Essa função não aguarda. - get_exception()
- Aguarda, se necessário. Em seguida, retorna a exceção (ou
Nonecaso não haja exceção). Retorna a exceção. Não a gera. - get_result()
- Aguarda, se necessário. Em seguida, retorna o resultado ou gera a exceção.
- get_traceback()
- Aguarda, se necessário. Em seguida, retorna o objeto traceback da exceção (ou
Nonecaso não haja objeto traceback). O módulotracebackdo Python tem funções para imprimir e trabalhar com objetos traceback. - wait()
- Aguarda até um resultado ou uma exceção chegar.
O retorno é sempre
None.
Métodos de classe
- wait_all(futures)
- Aguarda a conclusão de todos os
Futuresno iterável passado.Argumentos
- futures
- Iterável de objetos
Future.
Retorna
None. - wait_any(futures)
- Aguarda a conclusão de pelo menos um dos iteráveis de
Futures.Argumentos
- futures
- Iterável de objetos
Future.
Retorna um
Futureconcluído. (RetornaNonese o iterávelfuturesestiver vazio.)