Future は、非同期オペレーションの結果を表します。多くの場合、作成時には、結果データは含まれません。オペレーションが終了すると、Future は結果を取得します。アプリケーションは、Future オブジェクトの get_result() メソッドを呼び出すことができます。結果が届いている場合、メソッドはそれを返します。結果が届いていない場合は、届くまで待機して返します。
注: RPC と Future の間に 1:1 の対応はありません。複数の Future が 1 つの RPC の結果に対応する場合もあります。
インスタンス メソッド
- check_success()
 - 演算が成功したか確認します。必要に応じて待機します。問題が存在する場合には、例外を返します。問題が存在しない場合には、
Noneを返します。 - done()
 - 結果が届いている場合は 
Trueを返します。届いていない場合は、Falseを返します。この関数は待機しません。 - get_exception()
 - 必要に応じて待機し、例外を返します。例外が存在しない場合には、
Noneを返します。例外を返しますが、例外を生成することはありません。 - get_result()
 - 必要に応じて待機し、結果を返します。あるいは、例外を生成します。
 - get_traceback()
 - 必要に応じて待機し、例外のトレースバック オブジェクトを返します。トレースバック オブジェクトが存在しない場合は 
Noneを返します。Python のtracebackモジュールは、トレースバック オブジェクトの出力と操作を行う関数を備えています。 - wait()
 - 結果や例外が到着するまで待機します。常に 
Noneを返します。 
クラス メソッド
- wait_all(futures)
 - 渡されたイテラブルのすべての 
Futuresが完了するまで待機します。引数
- futures
 Futureオブジェクトのイテラブル。
Noneを返します。 - wait_any(futures)
 Futuresのイテラブルが少なくとも 1 つが終了するまで待機します。引数
- futures
 Futureオブジェクトのイテラブル。
終了した 1 つの
Futureを返します。 (futuresイテラブルが空の場合、Noneを返します。)