הערך 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
Futuresin the passed iterable are done.ארגומנטים
- futures
- Iterable של אובייקטים מסוג
Future.
הפונקציה מחזירה את הערך
None. - wait_any(futures)
- המתנה עד שלפחות אחד מהאיברים של
Futuresיסיים את הפעולה.ארגומנטים
- futures
- Iterable של אובייקטים מסוג
Future.
הפונקציה מחזירה
Futureאחד שהושלם. (הפונקציה מחזירהNoneאם האיטרבלfuturesריק).