Bir sayfa aynı anda birden fazla ağ isteği gerçekleştirdiğinde bunlar genellikle aynı bant genişliği için rekabet eder. Kullanıcı tarafından başlatılan veya kritik veri getirme işlemlerinin daha hızlı tamamlanabilmesi için analiz, günlük kaydı veya arka plan senkronizasyonu gibi kritik olmayan verilere daha düşük öncelik verilmelidir.
Nasıl uygulanır?
- Arka plan isteklerini belirleme: Hangi
fetch()çağrılarının, anlık kullanıcı deneyimini etkilemeyen ve gerekli olmayan veriler için olduğunu belirleyin. - Getirme önceliğini uygulama:
fetch()başlatma nesnesinepriority: 'low'seçeneğini ekleyin.
Örnek kod
// 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'
});
En iyi uygulamalar
- Mevcut görünüm için gerekli olmayan analiz, işaretçi veya telemetri verileri için
priority: 'low'KULLANIN. priority: 'low', kullanıcının daha sonra ihtiyaç duyabileceği verileri "önceden getirmek" için KULLANILMALIDIR. Bu sayede, kullanıcının şu anda ihtiyaç duyduğu verilerin yüklenmesi yavaşlamaz.- Kullanıcı deneyimi açısından kritik olan getirme işlemleri için
priority: 'low'KULLANMAYIN. - Getirme seçenekleri nesnesinde desteği sonlandırılan
importanceanahtarını KULLANMAYIN. Doğru anahtar:priority.
Yedek strateji
Fetch API'deki priority seçeneği, progresif geliştirme özelliğidir. Bu özelliği desteklemeyen tarayıcılar seçeneği yok sayar ve isteği varsayılan öncelikte işler. Temel kullanım için açık özellik algılama veya yedek mantık gerekmez.