runtime.lastError
Это значение используется для сообщения об ошибке из асинхронного API, когда асинхронному API передается обратный вызов. Это полезно для расширений, использующих версию API WebExtension на основе обратных вызовов.
Вам не нужно проверять это свойство, если вы используете версию API на основе обещаний: вместо этого передайте обработчик ошибок в обещание:
const gettingCookies = browser.cookies.getAll(); gettingCookies.then(onGot, onError);
Свойство runtime.lastError устанавливается, когда асинхронная функция имеет условие ошибки, которое она должна сообщить своему вызывающему объекту.
Если вы вызываете асинхронную функцию, которая может установить lastError, ожидается, что вы проверите ошибку при обработке результата функции. Если lastError было установлено, и вы не проверяете его внутри функции обратного вызова, то будет поднята ошибка.
Синтаксис
let myError = browser.runtime.lastError; // null or Error object
Значение
Примеры
Установка куки, используя обратный вызов для записи новой куки или сообщения об ошибке:
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 );
То же самое, но с использованием обещания для обработки результата 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);
Примечание: runtime.lastError является псевдонимом для extension.lastError. Они устанавливаются вместе, и проверка любого из них будет работать.
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
lastError |
ДаlastError не является объектом Error. Вместо этого это обычный объект со строковым значением текста ошибки в свойстве 'message'. |
14 | 47 | ? | ДаlastError не является объектом Error. Вместо этого это обычный объект со строковым значением текста ошибки в свойстве 'message'. |
14lastError устанавливается только если используется обратный вызов. Promise результаты, которые завершаются ошибкой, будут отклонены с объектом Error. |
? | ? | 48 | ? | 15lastError устанавливается только если используется обратный вызов. Promise результаты, которые завершаются ошибкой, будут отклонены с объектом Error. |
? |
Примеры расширений
Примечание: Этот API основан на API chrome.runtime Chromium. Данная документация взята из runtime.json кода Chromium.
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/runtime/lastError