כשדף מבצע כמה בקשות לאחזור מהרשת בו-זמנית, הן בדרך כלל מתחרות על אותו רוחב פס. כדאי להוריד את העדיפות של נתונים לא קריטיים כמו ניתוח נתונים, רישום ביומן או סנכרון ברקע, כדי ששליפות נתונים קריטיות או כאלה שהמשתמשים יזמו יוכלו להסתיים מהר יותר.
איך מטמיעים
- זיהוי בקשות ברקע: מזהים אילו קריאות ל-
fetch()מיועדות לנתונים לא חיוניים שלא משפיעים על חוויית המשתמש המיידית. - החלת עדיפות לאחזור: מוסיפים את האפשרות
priority: 'low'לאובייקט האתחולfetch().
קוד לדוגמה
// Use high priority (default) for critical UI updates
const criticalData = await fetch('/api/data');
// Explicitly deprioritize background analytics
fetch('/api/analytics', {
method: 'POST',
body: JSON.stringify(eventData),
// Lower the priority to prevent network contention
priority: 'low'
});
שיטות מומלצות
- מומלץ להשתמש ב-
priority: 'low'לניתוח נתונים, למשואות או לנתוני טלמטריה שלא נדרשים לתצוגה הנוכחית. - מומלץ להשתמש ב-
priority: 'low'כדי "לאחזר מראש" נתונים שהמשתמש עשוי להזדקק להם בהמשך, ולוודא שהפעולה הזו לא מאטה את מה שהוא צריך עכשיו. - אל תשתמשו ב-
priority: 'low'לאחזורים שחיוניים לחוויית המשתמש. - אל תשתמשו במפתח
importanceשהוצא משימוש באובייקט של אפשרויות השליפה. המקש הנכון הואpriority.
אסטרטגיית גיבוי
האפשרות priority ב-Fetch API היא שיפור הדרגתי (progressive enhancement). דפדפנים שלא תומכים באפשרות הזו יתעלמו ממנה ויתייחסו לבקשה בעדיפות ברירת המחדל. לא נדרש זיהוי תכונות מפורש או לוגיקה חלופית לשימוש בסיסי.