--- title: Cache.add() slug: Web/API/Cache/add translation_of: Web/API/Cache/add ---
{{APIRef("Service Workers API")}}
Die add()
Methode des {{domxref("Cache")}} Interface nimmt eine URL, ruft sie ab und fügt das resultierende Objekt zum gegebenen Cache. Die add()
Methode gleicht funktional dem folgenden:
fetch(url).then(function(response) { if (!response.ok) { throw new TypeError('bad response status'); } return cache.put(url, response); })
Für komplexere Operationen müssen Sie {{domxref("Cache.put","Cache.put()")}} direkt verwenden.
Hinweis: add()
wird alle zuvor im Cache gespeicherten Schlüssel-Wert-Paare die der Request gleichen überschreiben.
cache.add(request).then(function() { // request wurde dem Cache hinzugefügt });
Eine {{jsxref("Promise")}}, die auf void auflöst.
Exception | Tritt auf wenn |
---|---|
TypeError |
Das URL-Schema nicht Der Antwortstatus ist nicht im 200 Bereich (d.h. keine erfolgreiche Antwort) Dies tritt auf, wenn die Request nicht erfolgreich zurückgegeben wird aber auch wenn die Request eine cross-origin no-cors Request ist (In diesem Fall ist der Status immer 0.) |
Dieser Codeblock wartet darauf, dass ein {{domxref("InstallEvent")}} ausgelöst wird, ruft dann {{domxref("ExtendableEvent.waitUntil","waitUntil()")}} auf, um den Installationsprozess der Applikation einzuleiten. Dies beinhaltet den Aufruf von {{domxref("CacheStorage.open")}} um einen neuen Cache zu erstellen, um dann mittels {{domxref("Cache.add")}} etwas zu diesem hinzuzufügen.
this.addEventListener('install', function(event) { event.waitUntil( caches.open('v1').then(function(cache) { return cache.add('/sw-test/index.html'); }) ); });
Specification | Status | Comment |
---|---|---|
{{SpecName('Service Workers', '#dom-cache-add', 'Cache: add')}} | {{Spec2('Service Workers')}} | Erstdefinition. |
{{Compat("api.Cache.add")}}