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:
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
let myError = browser.runtime.lastError; // null or Error object
Wert
Beispiele
Setzen Sie ein Cookie und verwenden Sie ein Callback, um das neue Cookie zu protokollieren oder einen Fehler zu melden:
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:
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.