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 Promise-basierte Version der APIs verwenden: Geben Sie stattdessen einen Fehlerbehandler an das Promise weiter:
const gettingCookies = browser.cookies.getAll();
gettingCookies.then(onGot, onError);
Die Eigenschaft runtime.lastError
wird gesetzt, wenn eine asynchrone Funktion ein Fehlerzustand meldet, den sie an ihren Aufrufer weitergeben muss.
Wenn Sie eine asynchrone Funktion aufrufen, die möglicherweise lastError
setzt, wird erwartet, dass Sie den Fehler überprüfen, wenn Sie das Ergebnis der Funktion behandeln. Wenn lastError
gesetzt wurde und Sie es innerhalb der Callback-Funktion nicht überprüfen, wird ein Fehler ausgelöst.
Syntax
let myError = browser.runtime.lastError; // null or Error object
Wert
Beispiele
Setzen Sie ein Cookie, indem Sie ein Callback verwenden, 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 Verwendung eines Promises zur Bearbeitung des Ergebnisses von setCookie()
:
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);
Note:
runtime.lastError
ist ein Alias fürextension.lastError
. Sie werden zusammen gesetzt, und die Überprüfung von einem von beiden funktioniert.
Browser-Kompatibilität
BCD tables only load in the browser
Beispielerweiterungen
Hinweis:
Diese API basiert auf Chromiums chrome.runtime
API. Diese Dokumentation ist abgeleitet von runtime.json
im Chromium-Code.