NDB Future Class

הערך Future מייצג את התוצאה של פעולה אסינכרונית. כשיוצרים אותו, כנראה שאין בו נתוני תוצאות. כשהפעולה מסתיימת, התוצאה מופיעה ב-Future. אפליקציה יכולה לקרוא ל-method‏ get_result() של אובייקט Future. אם התוצאה הגיעה, ה-method מחזירה אותה. אחרת, היא מחכה שהתוצאה תגיע ואז מחזירה אותה.

הערה: אין מיפוי 1:1 בין RPC לבין Futures. יכול להיות שכמה עתידים קשורים לתוצאה של RPC יחיד.

Instance Methods

check_success()
בודקים אם הפעולה הצליחה. הפונקציה ממתינה אם צריך. מעלה חריגה אם הייתה בעיה; מחזירה None אם לא הייתה בעיה.
done()
הפונקציה מחזירה את הערך True אם התוצאה (או החריגה) הגיעה. אחרת, היא מחזירה את הערך False. הפונקציה הזו לא ממתינה.
get_exception()
הפונקציה ממתינה אם צריך, ואז מחזירה את החריגה (או None אם לא הייתה חריגה). הפונקציה מחזירה את החריגה, ולא מעלה אותה.
get_result()
הפונקציה ממתינה אם צריך, ואז מחזירה את התוצאה או מעלה את החריגה.
get_traceback()
הפונקציה ממתינה אם יש צורך בכך, ואז מחזירה את אובייקט המעקב אחר שגיאות של החריגה (או None אם לא היה אובייקט מעקב אחר שגיאות). מודול traceback של Python כולל פונקציות להדפסה ולעבודה עם אובייקטים של traceback.
wait()
הפונקציה ממתינה עד שמתקבלת תוצאה או חריגה. הפונקציה תמיד מחזירה None.

Class Methods

wait_all(futures)
המתנה עד שכל Futures ב-iterable שהועבר יסתיימו.

ארגומנטים

futures
Iterable של Future אובייקטים.

הפונקציה מחזירה את הערך None.

wait_any(futures)
המתנה עד שלפחות אחד מהאיברים של Futures יסיים את הפעולה.

ארגומנטים

futures
Iterable של Future אובייקטים.

מחזירה Future אחד שהסתיים. (מחזירה None אם האובייקט futures iterable ריק).