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, bevor Sie diese produktiv verwenden.

Hinweis: Dieses Feature ist verfügbar in Web Workers.

Die BackgroundFetchRegistration Schnittstelle der Background Fetch API repräsentiert einen individuellen Hintergrundabruf.

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

EventTarget BackgroundFetchRegistration

Instanzeigenschaften

Erbt auch Eigenschaften von ihrem Elternteil, EventTarget.

BackgroundFetchRegistration.id Nur lesbar Experimentell

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

BackgroundFetchRegistration.uploadTotal Nur lesbar Experimentell

Eine number, die die Gesamtzahl der zu ladenden Bytes enthält.

BackgroundFetchRegistration.uploaded Nur lesbar Experimentell

Eine number, die die Größe in Bytes enthält, die erfolgreich gesendet wurde, anfangs 0.

BackgroundFetchRegistration.downloadTotal Nur lesbar Experimentell

Eine number, die die Gesamtsgröße in Bytes dieses Downloads enthält. Dies ist der Wert, der beim Registrieren des Hintergrundabrufs gesetzt wurde, oder 0.

BackgroundFetchRegistration.downloaded Nur lesbar Experimentell

Eine number, die die Größe in Bytes enthält, die heruntergeladen wurde, anfangs 0.

BackgroundFetchRegistration.result Nur lesbar Experimentell

Gibt zunächst einen leeren String zurück, bei Abschluss entweder den String "success" oder "failure".

BackgroundFetchRegistration.failureReason Nur lesbar 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 Nur lesbar Experimentell

Ein boolean, das angibt, ob das recordsAvailable Flag gesetzt ist.

Instanzmethoden

Erbt auch Methoden von ihrem 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 übereinstimmende 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 ihrem Elternteil, EventTarget.

Diese Ereignisse werden mit addEventListener() oder durch Zuweisen eines Ereignis-Listeners zu der oneventname Eigenschaft dieser Schnittstelle überwacht.

progress Experimentell

Wird ausgelöst, wenn sich eine der folgenden Eigenschaften ändert: uploaded, downloaded, result oder failureReason.

Beispiele

Der folgende Code erstellt eine 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 der Konsole gibt "my-fetch" zurück.

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

Die match() Methode kann verwendet werden, um ein bestimmtes 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

BCD tables only load in the browser