NDB Future Class

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

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

Instance Methods

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

Class Methods

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

ארגומנטים

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

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

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

ארגומנטים

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

הפונקציה מחזירה Future אחד שהושלם. (הפונקציה מחזירה None אם האיטרבל futures ריק).