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 nutzen.
Es ist nicht erforderlich, diese Eigenschaft zu überprüfen, wenn Sie die auf Versprechen basierende Version der APIs verwenden: übergeben Sie stattdessen einen Fehler-Handler an das Versprechen:
const gettingCookies = browser.cookies.getAll();
gettingCookies.then(onGot, onError);
Die Eigenschaft runtime.lastError wird gesetzt, wenn eine asynchrone Funktion eine Fehlersituation hat, die dem Aufrufer gemeldet werden muss.
Wenn Sie eine asynchrone Funktion aufrufen, die lastError setzen könnte, sollten Sie den Fehler überprüfen, wenn Sie das Ergebnis der Funktion verarbeiten. 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
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
Ein Cookie setzen und eine Rückruffunktion 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);
Dasselbe, aber mit einem Versprechen, um das Ergebnis von setCookie() zu bearbeiten:
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:
extension.lastError ist ein Alias für runtime.lastError. Sie werden gemeinsam gesetzt, und es funktioniert, wenn Sie einen der beiden überprüfen.
Beispielerweiterungen
Browser-Kompatibilität
Hinweis:
Diese API basiert auf der chrome.runtime API von Chromium. Diese Dokumentation stammt aus runtime.json im Chromium-Code.