De Cache API
Sla responses op in de cache en lever ze daaruit.
De Cache API is een gratis JavaScript Academy-les op CoddyKit. Dit is les 2 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject JavaScript Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus JavaScript Academy bevat in totaal 4 lessen.
Wat is de Cache API?
De Cache API slaat paren van verzoeken en antwoorden op in benoemde caches. Service workers gebruiken deze om bestanden te leveren zonder het netwerk te raadplegen. Dit vormt de basis van offlineondersteuning.
Het object caches
Het globale object caches (een CacheStorage) beheert al je benoemde caches. Het is beschikbaar in zowel pagina's als service workers.
// Available globally:
// caches.open(name)
// caches.match(request)
// caches.delete(name)
// caches.keys()Een cache openen
caches.open(name) retourneert een Promise voor een cache met die naam en maakt die aan als hij nog niet bestaat. Met namen kun je je caches van verschillende versies voorzien.
caches.open('static-v1').then(cache => {
console.log('cache ready');
});Vooraf cachen met addAll
Tijdens install haalt cache.addAll(urls) in één aanroep een lijst bestanden op en slaat die op. Als een van de verzoeken mislukt, wordt de hele bewerking afgewezen.
self.addEventListener('install', (event) => {
event.waitUntil(
caches.open('static-v1').then(cache =>
cache.addAll(['/', '/styles.css', '/app.js'])
)
);
});waitUntil
event.waitUntil(promise) vertelt de browser dat hij de worker actief moet houden totdat de Promise is afgehandeld. Plaats je cache-initialisatie hierin, zodat de installatie niet te vroeg wordt afgerond.
self.addEventListener('install', (event) => {
event.waitUntil(setupCache());
});Eén item toevoegen
cache.put(request, response) slaat één antwoord op, terwijl cache.add(url) één URL ophaalt en opslaat. Gebruik put wanneer je al een antwoord hebt dat je wilt opslaan.
const cache = await caches.open('static-v1');
const response = await fetch('/logo.png');
await cache.put('/logo.png', response);Een antwoord in de cache vinden
cache.match(request) zoekt een opgeslagen antwoord op. De Promise wordt opgelost met het antwoord, of met undefined als er geen overeenkomst is.
const cache = await caches.open('static-v1');
const hit = await cache.match('/styles.css');
if (hit) console.log('served from cache');Snelkoppeling caches.match
caches.match(request) doorzoekt alle caches tegelijk. Dat is handig in een fetch-afhandelaar wanneer het niet uitmaakt in welke cache het bestand staat.
self.addEventListener('fetch', (event) => {
event.respondWith(
caches.match(event.request).then(hit =>
hit || fetch(event.request)
)
);
});respondWith
Binnen een gebeurtenis fetch levert event.respondWith(promise) het antwoord dat de browser gebruikt. Laat de Promise worden opgelost met een antwoord uit de cache of een nieuw opgehaald Response-object.
self.addEventListener('fetch', (event) => {
event.respondWith(handleRequest(event.request));
});Antwoorden klonen
De inhoud van een antwoord kan maar één keer worden gelezen. Als je een antwoord zowel wilt retourneren als opslaan, moet je het eerst klonen.
const response = await fetch(request);
cache.put(request, response.clone()); // store a copy
return response; // return the originalCache-items verwijderen
cache.delete(request) verwijdert één item; caches.delete(name) verwijdert een hele benoemde cache. Gebruik deze functies om verouderde bestanden uit de cache te verwijderen.
await cache.delete('/old-asset.js');
await caches.delete('static-v0'); // remove old cache versionKorte controle
Test je begrip van de Cache API.
Samenvatting
Je hebt de Cache API geleerd:
caches.open(name)haalt een benoemde cache op of maakt die aan.addAllvult de cache vooraf;put/addslaan items op.matchhaalt items op;caches.matchdoorzoekt alle caches.respondWithlevert het antwoord tijdensfetch.- Kloon antwoorden voordat je ze opslaat en retourneert.
Hierna volgen cachingsstrategieën.
Leer JavaScript met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 59
- Lessen
- 200
Veelgestelde vragen
Is de les “De Cache API” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad JavaScript Academy, waaronder “De Cache API”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus JavaScript Academy bevat in totaal 4 lessen.
Wat leer ik in “De Cache API”?
Sla responses op in de cache en lever ze daaruit. Je oefent met JavaScript Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met JavaScript Academy te beginnen?
Ervaring vooraf is niet nodig. JavaScript Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.
Hoe lang duurt de les “De Cache API”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over JavaScript Academy?
Ja. Elke les over JavaScript Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Een Service Worker registreren
- De Cache API
- Cachingstrategieën
- Synchronisatie en updates op de achtergrond