runtime.lastError

Dieser Wert wird verwendet, um eine Fehlermeldung von einer asynchronen API zu melden, wenn der asynchronen API ein Callback übergeben wird. Dies ist nützlich für Erweiterungen, die die auf Callback basierende Version der WebExtension-APIs verwenden.

Es ist nicht erforderlich, diese Eigenschaft zu überprüfen, wenn Sie die auf Versprechen basierende Version der APIs verwenden: Stattdessen übergeben Sie einen Fehler-Handler an das Versprechen:

js
const gettingCookies = browser.cookies.getAll();
gettingCookies.then(onGot, onError);

Die runtime.lastError-Eigenschaft wird gesetzt, wenn eine asynchrone Funktion eine Fehlerbedingung hat, die sie ihrem Aufrufer melden muss.

Wenn Sie eine asynchrone Funktion aufrufen, die lastError setzen könnte, wird erwartet, dass Sie den Fehler überprüfen, wenn Sie das Ergebnis der Funktion verarbeiten. Wenn lastError gesetzt wurde und Sie es nicht innerhalb der Callback-Funktion überprüfen, wird ein Fehler ausgelöst.

Syntax

js
let myError = browser.runtime.lastError;  // null or Error object

Wert

Ein Error Objekt, das den Fehler darstellt. Die message-Eigenschaft ist ein string mit einer menschenlesbaren Beschreibung des Fehlers. Wenn lastError nicht gesetzt wurde, ist der Wert null.

Beispiele

Setzen Sie ein Cookie und verwenden Sie ein Callback, um das neue Cookie zu protokollieren oder einen Fehler zu melden:

js
function logCookie(c) {
  if (browser.runtime.lastError) {
    console.error(browser.runtime.lastError);
  } else {
    console.log(c);
  }
}

browser.cookies.set({ url: "https://developer.mozilla.org/" }, logCookie);

Dasselbe, aber mit einem Versprechen, um das Ergebnis von setCookie() zu bearbeiten:

js
function logCookie(c) {
  console.log(c);
}

function logError(e) {
  console.error(e);
}

const setCookie = browser.cookies.set({
  url: "https://developer.mozilla.org/",
});

setCookie.then(logCookie, logError);

Hinweis: runtime.lastError ist ein Alias für extension.lastError. Sie werden zusammen gesetzt, und die Überprüfung eines von beiden wird funktionieren.

Beispielerweiterungen

Browser-Kompatibilität

Hinweis: Diese API basiert auf der chrome.runtime API von Chromium. Diese Dokumentation ist abgeleitet von runtime.json im Chromium-Code.