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 Callback-basierte Version der WebExtension-APIs verwenden.

Sie müssen diese Eigenschaft nicht überprüfen, wenn Sie die auf Versprechen basierende Version der APIs verwenden: Übergeben Sie stattdessen einen Fehlerbehandler an das Versprechen:

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

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

Wenn Sie eine asynchrone Funktion aufrufen, die möglicherweise lastError setzt, wird von Ihnen 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 repräsentiert. Die Eigenschaft message 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);

Das Gleiche, aber mit einem Versprechen, um das Ergebnis von setCookie() zu verarbeiten:

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 das Überprüfen eines von beiden wird funktionieren.

Browser-Kompatibilität

Beispielerweiterungen

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