BackgroundFetchRegistration.match()

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Экспериментальная возможность: Это экспериментальная технология
Так как спецификация этой технологии ещё не стабилизировалась, смотрите таблицу совместимости по поводу использования в различных браузерах. Также заметьте, что синтаксис и поведение экспериментальной технологии может измениться в будущих версиях браузеров, вслед за изменениями спецификации.

Метод match() интерфейса BackgroundFetchRegistration возвращает первое совпадение BackgroundFetchRecord.

Синтаксис

js
match(request);
match(request, options);

Параметры

request

Request для которого вы пытаетесь найти записи. Может быть объектом Request или URL.

options Необязательный

Объект, который устанавливает параметры для операции match. Доступные параметры:

ignoreSearch

Булево значение, которое определяет нужно ли игнорировать строку поиска в URL. Например, если параметр установлен как true, то подстрока ?value=bar, которая является частью http://foo.com/?value=bar, будет игнорироваться при выполении сопоставления. Значение по умолчанию - false.

ignoreMethod

Булево значение. Если оно установлено как true, то операциям сопоставления запрещается проверять метод http объекта Request. Если false (значение по умолчанию) только GET и HEAD разрешены.

ignoreVary

Булево значение. Когда true сигнализирует, что заголовок VARY должен быть проигнорирован. Значение по умолчанию - false.

Возвращаемое значение

Promise результатом обработки которого будет первый BackgroundFetchRecord, который соответствует запросу или undefined, если соответствий не найдено.

Note: BackgroundFetchRegistration.match() в основном идентичен BackgroundFetchRegistration.matchAll(), за исключением того, что вместо возвращения массива всех совпадений, он возвращает только первое совпадение.

Исключения

InvalidStateError DOMException (en-US)

Возвращается при вызове match() в тот момент, когда нет запросов в процессе выполнения. Это состояние будет отражено установкой флага BackgroundFetchRegistration.recordsAvailable как false.

Примеры

В этом примере мы ищем запись с URL "/ep-5.mp3". Если BackgroundFetchRecord найдена, то мы можем вернуть некоторую информацию ней.

js
bgFetch.match("/ep-5.mp3").then(async (record) => {
  if (!record) {
    console.log("Запись не найдена");
    return;
  }

  console.log(`Запрос`, record.request);
  const response = await record.responseReady;
  console.log(`Ответ`, response);
});

Спецификации

Specification
Background Fetch
# background-fetch-registration-match

Совместимость с браузерами

BCD tables only load in the browser