BackgroundFetchRegistration: match() 方法
注意:此功能在 Web Workers 中可用。
BackgroundFetchRegistration 接口的 match() 方法会返回第一个匹配的 BackgroundFetchRecord。
语法
js
match(request)
match(request, options)
参数
请求options可选-
一个设置
match操作选项的对象。可用选项包括:ignoreSearch可选-
一个布尔值,指定是否忽略 URL 中的查询字符串。例如,如果设置为
true,在执行匹配时将忽略http://foo.com/?value=bar中的?value=bar部分。默认值为false。 ignoreMethod可选-
一个布尔值。当设置为
true时,将阻止匹配操作验证Request的http方法。如果为false(默认值),则只允许GET和HEAD。 ignoreVary可选-
一个布尔值。当设置为
true时,表示应忽略Vary头部。默认为false。
返回值
一个 Promise,它会解析为与请求匹配的第一个 BackgroundFetchRecord,如果未找到匹配项,则解析为 undefined。
注意:BackgroundFetchRegistration.match() 与 BackgroundFetchRegistration.matchAll() 基本相同,只是它解析为只返回第一个匹配的记录,而不是所有匹配记录的数组。
异常
InvalidStateErrorDOMException-
当您在没有正在进行的 fetch 时调用
match()时返回此值。此状态将反映在BackgroundFetchRegistration.recordsAvailable设置为false。
示例
在此示例中,我们查找 URL 为“/ep-5.mp3”的记录。如果找到 BackgroundFetchRecord,我们就可以返回有关它的信息。
js
bgFetch.match("/ep-5.mp3").then(async (record) => {
if (!record) {
console.log("No record found");
return;
}
console.log(`Here's the request`, record.request);
const response = await record.responseReady;
console.log(`And here's the response`, response);
});
规范
| 规范 |
|---|
| Background Fetch # background-fetch-registration-match |
浏览器兼容性
加载中…