BackgroundFetchRegistration

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Das BackgroundFetchRegistration Interface der Background Fetch API repräsentiert einen individuellen Hintergrundabruf.

Eine Instanz von BackgroundFetchRegistration wird durch die Methoden BackgroundFetchManager.fetch() oder BackgroundFetchManager.get() zurückgegeben und hat daher keinen Konstruktor.

EventTarget BackgroundFetchRegistration

Instanzeigenschaften

Erbt auch Eigenschaften von seinem Elternteil, EventTarget.

BackgroundFetchRegistration.id Schreibgeschützt Experimentell

Ein String, der die ID des Hintergrundabrufs enthält.

BackgroundFetchRegistration.uploadTotal Schreibgeschützt Experimentell

Ein number enthält die Gesamtanzahl der zu hochladenden Bytes.

BackgroundFetchRegistration.uploaded Schreibgeschützt Experimentell

Ein number enthält die Größe in Bytes, die erfolgreich gesendet wurde, anfänglich 0.

BackgroundFetchRegistration.downloadTotal Schreibgeschützt Experimentell

Ein number enthält die Gesamtdatenmenge in Bytes dieses Downloads. Dies ist der Wert, der beim Registrieren des Hintergrundabrufs festgelegt wurde, oder 0.

BackgroundFetchRegistration.downloaded Schreibgeschützt Experimentell

Ein number enthält die Größe in Bytes, die heruntergeladen wurde, anfänglich 0.

BackgroundFetchRegistration.result Schreibgeschützt Experimentell

Gibt anfangs einen leeren String zurück und bei Abschluss entweder den String "success" oder "failure".

BackgroundFetchRegistration.failureReason Schreibgeschützt Experimentell

Ein String mit einem Wert, der einen Grund für einen Hintergrundabruf-Fehler angibt. Kann einer der folgenden Werte sein: "", "aborted", "bad-status", "fetch-error", "quota-exceeded", "download-total-exceeded".

BackgroundFetchRegistration.recordsAvailable Schreibgeschützt Experimentell

Ein boolean das anzeigt, ob das recordsAvailable-Flag gesetzt ist.

Instanzmethoden

Erbt auch Methoden von seinem Elternteil, EventTarget.

BackgroundFetchRegistration.abort() Experimentell

Bricht den Hintergrundabruf ab. Gibt ein Promise zurück, das mit true aufgelöst wird, wenn der Abruf erfolgreich abgebrochen wurde.

BackgroundFetchRegistration.match() Experimentell

Gibt ein einzelnes BackgroundFetchRecord Objekt zurück, das das erste Übereinstimmungsergebnis für die Argumente ist.

BackgroundFetchRegistration.matchAll() Experimentell

Gibt ein Promise zurück, das mit einem Array von BackgroundFetchRecord Objekten aufgelöst wird, die Anfragen und Antworten enthalten.

Ereignisse

Erbt auch Ereignisse von seinem Elternteil, EventTarget.

Hören Sie auf diese Ereignisse mit addEventListener() oder indem Sie einen Ereignis-Listener der oneventname-Eigenschaft dieser Schnittstelle zuweisen.

progress Experimentell

Wird ausgelöst, wenn es eine Änderung an einer der folgenden Eigenschaften gibt: uploaded, downloaded, result oder failureReason.

Beispiele

Der folgende Code erstellt ein BackGroundFetchRegistration als bgFetch, mit einer id von "my-fetch".

js
navigator.serviceWorker.ready.then(async (swReg) => {
  const bgFetch = await swReg.backgroundFetch.fetch(
    "my-fetch",
    ["/ep-5.mp3", "ep-5-artwork.jpg"],
    {
      title: "Episode 5: Interesting things.",
      icons: [
        {
          sizes: "300x300",
          src: "/ep-5-icon.png",
          type: "image/png",
        },
      ],
      downloadTotal: 60 * 1024 * 1024,
    },
  );
});

Das Protokollieren der id in die Konsole gibt "my-fetch" zurück.

js
console.log(bgFetch.id); // "my-fetch"

Die match() Methode kann verwendet werden, um einen bestimmten BackgroundFetchRecord aus denen, die Teil der Registrierung sind, zu finden.

js
bgFetch.match("/ep-5.mp3").then(async (record) => {
  if (!record) {
    console.log("No record found");
    return;
  }

  console.log(`Here's the request`, record.request);
  const response = await record.responseReady;
  console.log(`And here's the response`, response);
});

Spezifikationen

Specification
Background Fetch
# background-fetch-registration

Browser-Kompatibilität