बैकग्राउंड फ़ेच को कम प्राथमिकता दें

वेब सुविधाएं: Fetch priority Fetch

जब कोई पेज एक साथ कई नेटवर्क अनुरोध करता है, तो वे अक्सर एक ही बैंडविड्थ के लिए प्रतिस्पर्धा करते हैं. आंकड़े, लॉगिंग या बैकग्राउंड में सिंक करने जैसे कम ज़रूरी डेटा को प्राथमिकता नहीं दी जानी चाहिए. इससे उपयोगकर्ता की ओर से शुरू किए गए या ज़रूरी डेटा को तेज़ी से फ़ेच किया जा सकता है.

इन्हें कैसे लागू करें

  1. बैकग्राउंड में किए जाने वाले अनुरोधों की पहचान करना: यह तय करें कि कौनसे fetch() कॉल, ऐसे डेटा के लिए हैं जो ज़रूरी नहीं है और जिससे उपयोगकर्ता अनुभव पर तुरंत कोई असर नहीं पड़ता.
  2. फ़ेच करने की प्राथमिकता लागू करना: fetch() को शुरू करने वाले ऑब्जेक्ट में priority: 'low' विकल्प जोड़ें.

कोड का उदाहरण

// 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 है.

फ़ॉलबैक रणनीति

Fetch API में priority विकल्प, एक प्रोग्रेसिव एन्हांसमेंट है. जो ब्राउज़र इस सुविधा के साथ काम नहीं करते वे इस विकल्प को अनदेखा कर देंगे. साथ ही, अनुरोध को डिफ़ॉल्ट प्राथमिकता के साथ प्रोसेस करेंगे. बुनियादी इस्तेमाल के लिए, साफ़ तौर पर सुविधा का पता लगाने या फ़ॉलबैक लॉजिक की ज़रूरत नहीं होती.