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
Nonese não tiver ocorrido nenhum problema. - done()
- Devolve
Truese 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
Nonese 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
Nonese não existir nenhum objeto de rastreio). O módulotracebackdo 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
Futuresno iterável passado estejam concluídas.Argumentos
- futures
- Iterable de
Futureobjetos.
Devoluções
None. - wait_any(futures)
- Aguarde até que, pelo menos, um dos elementos de um iterável de
Futuresesteja concluído.Argumentos
- futures
- Iterable de
Futureobjetos.
Devolve um
Futureque está concluído. (DevolveNonese o iterávelfuturesestiver vazio.)