runtime.lastError
此值用于在异步 API 提供回调函数时,报告来自该异步 API 的错误消息。这对于使用基于回调的 WebExtension API 的扩展非常有用。
如果您使用的是基于 Promise 的 API,则无需检查此属性:而是将错误处理程序传递给 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
值
一个表示错误的 Error
对象。message
属性是一个 string
,包含对错误的易于理解的描述。如果 lastError
未设置,则值为 null
。
示例
设置一个 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
的别名。它们一起设置,检查其中任何一个都可以。
扩展程序示例
浏览器兼容性
加载中…
注意: 此 API 基于 Chromium 的 chrome.runtime
API。本文档源自 Chromium 代码中的 runtime.json
。