Baseline Widely available
Hinweis: Diese Funktion ist nur in Service Workers verfügbar.
Die ExtendableEvent.waitUntil()
-Methode informiert den Ereignis-Dispatcher darüber, dass Arbeit im Gange ist. Sie kann auch verwendet werden, um festzustellen, ob diese Arbeit erfolgreich war. In Service-Workern teilt waitUntil()
dem Browser mit, dass Arbeit im Gange ist, bis das Promise erfüllt wird, und er sollte den Service-Worker nicht beenden, wenn er möchte, dass diese Arbeit abgeschlossen wird.
Die install
-Ereignisse in Service-Workern verwenden waitUntil()
, um den Service-Worker in der installing
-Phase zu halten, bis die Aufgaben abgeschlossen sind. Wenn das an waitUntil()
übergebene Promise abgelehnt wird, gilt die Installation als fehlgeschlagen und der installierende Service-Worker wird verworfen. Dies wird hauptsächlich verwendet, um sicherzustellen, dass ein Service-Worker nicht als installiert gilt, bis alle Kern-Caches, von denen er abhängt, erfolgreich gefüllt sind.
Die activate
-Ereignisse in Service-Workern verwenden waitUntil()
, um funktionale Ereignisse wie fetch
und push
zu puffern, bis das an waitUntil()
übergebene Promise erfüllt ist. Dies gibt dem Service-Worker Zeit, Datenbankschemata zu aktualisieren und veraltete caches
zu löschen, sodass sich andere Ereignisse auf einen vollständig aktualisierten Zustand verlassen können.
Die waitUntil()
-Methode muss ursprünglich innerhalb des Ereignis-Rückrufs aufgerufen werden, kann aber danach mehrfach aufgerufen werden, bis alle an sie übergebenen Promises erfüllt sind.
promise
Ein Promise
, das die Lebensdauer des Ereignisses verlängert.
Keiner (undefined
).
Verwendung von waitUntil()
innerhalb eines install
-Ereignisses eines Service-Workers:
addEventListener("install", (event) => {
const preCache = async () => {
const cache = await caches.open("static-v1");
return cache.addAll(["/", "/about/", "/static/styles.css"]);
};
event.waitUntil(preCache());
});
Spezifikationen Browser-Kompatibilität Siehe auch MDN-Feedback-Box War diese Ãbersetzung hilfreich?
Diese Seite wurde automatisch aus dem Englischen übersetzt.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4