שיעור 11: Repositories אסינכרוניים
קריאה חוסמת למסד נתונים מקפיאה thread שלם עד שהתשובה חוזרת — בעומס אמיתי זה שרת שנחנק ומסך שקופא. בשיעור הזה נבנה רפוזיטורי אסינכרוני: ממשק שמחזיר Task, ומתודות שממתינות לו עם await בלי לחסום אף אחד.
מתודה אסינכרונית היא כמו זימונית במסעדה: במקום לעמוד ולחכות ליד הדלפק, מקבלים זמזם ומתפנים לעניינים אחרים — וכשהמנה מוכנה הוא מצלצל.
- Repository אסינכרוני
- חוזה גישה לנתונים שכל מתודותיו מחזירות Task<T> — כך הקוראים ממתינים לתוצאות עם await בלי לחסום thread.
- Task<T> — הבטחה לתוצאה
- חוזר מיד ברגע הקריאה למתודה אסינכרונית; הערך T עצמו נהיה זמין רק כשהעבודה מסתיימת.
- await — המתנה בלי חסימה
- משהה את המתודה, משחרר את ה־thread לעבודות אחרות, וממשיך מאותה נקודה עם התוצאה כשה־Task מסתיים.