BackgroundFetchRegistration:match() 方法
注意:此功能在 Web Workers 中可用。
match()
方法是 BackgroundFetchRegistration
接口的方法,它返回第一个匹配的 BackgroundFetchRecord
。
语法
js
match(request)
match(request, options)
参数
request
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()
基本上相同,只是它解析为第一个匹配的记录,而不是解析为所有匹配记录的数组。
异常
InvalidStateError
DOMException
-
如果您在没有进行任何获取操作时调用
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-registration-match |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。