Fetchen op de achtergrond een lagere prioriteit geven

Webfuncties: Fetch priority Fetch

Als een pagina meerdere netwerkverzoeken tegelijk uitvoert, concurreren ze vaak om dezelfde bandbreedte. Niet-kritieke gegevens, zoals analyses, logboekregistratie of achtergrondsynchronisatie, moeten een lagere prioriteit krijgen, zodat door de gebruiker gestarte of kritieke gegevens sneller kunnen worden opgehaald.

Hoe wordt dit geïmplementeerd

  1. Achtergrondverzoeken identificeren: Bepaal welke fetch()-aanroepen niet-essentiële gegevens betreffen die geen invloed hebben op de directe gebruikerservaring.
  2. Ophaalprioriteit toepassen: Voeg de optie priority: 'low' toe aan het initialisatieobject fetch().

Voorbeeldcode

// 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'
});

Praktische tips

  • Gebruik WEL priority: 'low' voor analyse-, beacon- of telemetriegegevens die niet vereist zijn voor de huidige weergave.
  • Gebruik priority: 'low' WEL om gegevens vooraf op te halen die de gebruiker later misschien nodig heeft, zodat de gegevens die de gebruiker nu nodig heeft niet worden vertraagd.
  • Gebruik priority: 'low' NIET voor ophaalacties die essentieel zijn voor de gebruikerservaring.
  • Gebruik NIET de beëindigde sleutel importance in het object voor ophaalopties. De juiste sleutel is priority.

Reservestrategie

De optie priority in de Fetch API is een progressive enhancement. Browsers die de optie niet ondersteunen, negeren deze en behandelen het verzoek met de standaardprioriteit. Voor basisgebruik is geen expliciete functiedetectie of fallback-logica vereist.