给定一个请求,我如何确定它属于哪个缓存?
match
,尽管在所有缓存中搜索,只会给我缓存的响应。我想检索缓存对象/缓存的名称和缓存的响应。
问问题
34 次
1 回答
2
如果您需要知道响应所在的缓存,恐怕您需要match
单独调用每个缓存,直到找到匹配的缓存。
代码可能如下所示:
async function findCachedResponse(request) {
const cacheKeys = await caches.keys();
const openCaches = await Promise.all(cacheKeys.map(cacheKey => caches.open(cacheKey)));
const matches = await Promise.all(openCaches.map(cache => cache.match(request));
const i = matches.findIndex(match => match !== undefined);
if (i !== -1) {
return { cache: cacheKeys[i], response: matches[i] };
} else {
return undefined;
}
}
于 2018-10-11T08:49:17.243 回答