Spec-Zone.ru › Web Extensions

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

Значение

Объект Error, представляющий ошибку. Свойство message является строкой с удобочитаемым описанием ошибки. Если lastError не было установлено, значение равно null.

Примеры

Установка куки, используя обратный вызов для записи новой куки или сообщения об ошибке:

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.
?

Примеры расширений

  • menu-demo

Примечание: Этот 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API