runtime.lastError
当异步 API 提供回调时,此值用于报告异步 API 的错误消息。这对于使用 WebExtension API 基于回调版本的扩展很有用。
如果您使用的是 API 的基于 Promise 的版本,则无需检查此属性:而是将错误处理程序传递给 Promise。
js
const gettingCookies = browser.cookies.getAll();
gettingCookies.then(onGot, onError);
当异步函数存在需要向其调用方报告的错误条件时,将设置runtime.lastError
属性。
如果您调用可能设置lastError
的异步函数,则应在处理函数结果时检查错误。如果已设置lastError
并且您在回调函数中未检查它,则会引发错误。
语法
js
let myError = browser.runtime.lastError; // null or Error object
值
示例
使用回调设置 Cookie,以记录新 Cookie 或报告错误
js
function logCookie(c) {
if (browser.runtime.lastError) {
console.error(browser.runtime.lastError);
} else {
console.log(c);
}
}
browser.cookies.set({ url: "https://mdn.org.cn/" }, logCookie);
相同,但使用 Promise 处理setCookie()
的结果
js
function logCookie(c) {
console.log(c);
}
function logError(e) {
console.error(e);
}
const setCookie = browser.cookies.set({
url: "https://mdn.org.cn/",
});
setCookie.then(logCookie, logError);
注意:runtime.lastError
是extension.lastError
的别名。它们一起设置,检查任意一个都可以。
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。
扩展示例
注意:此 API 基于 Chromium 的chrome.runtime
API。此文档来自 Chromium 代码中的runtime.json
。