Arka planda getirme işlemlerinin önceliğini düşürme

Web özellikleri: Getirme önceliği Getirme

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?

  1. 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.
  2. Getirme önceliğini uygulama: fetch() başlatma nesnesine priority: '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 importance anahtarı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.