NDB Future 類別

Future 代表非同步作業的結果。建立時可能沒有任何結果資料。 作業完成後,Future 會取得結果。 應用程式可以呼叫 Future 物件的 get_result() 方法。如果有結果,這個方法會傳回結果。如果沒有結果,這個方法會等到結果產生,然後「再」傳回結果。

注意:RPC 和 Future 之間沒有 1 對 1 的對應關係。多個 Future 可能會連結至單一 RPC 的一筆結果。

例項方法

check_success()
檢查作業是否成功。視需要等待。 如有問題,系統會引發例外狀況;如無問題,則會傳回 None
done()
如果結果 (或例外狀況) 已送達,則傳回 True;否則傳回 False。這個函式不會等待。
get_exception()
視需要等候,然後傳回例外狀況 (如果沒有例外狀況,則傳回 None)。傳回例外狀況,不會引發例外狀況。
get_result()
視需要等候,然後傳回結果或引發例外狀況。
get_traceback()
視需要等候,然後傳回例外狀況的回溯物件 (如果沒有回溯物件,則傳回 None)。 Python 的 traceback 模組含有可列印及處理回溯物件的函式。
wait()
等待結果或例外狀況送達。一律會傳回 None

類別方法

wait_all(futures)
Wait until all Futures in the passed iterable are done.

引數

期貨
物件的可疊代項目。Future

傳回 None

wait_any(futures)
Wait until at least one of a iterable of Futures is done.

引數

期貨
物件的可疊代項目。Future

傳回已完成的 Future。 (如果 futures 可疊代項目為空白,則傳回 None)。