javascript - Service Worker 中的动态缓存名称
问题描述
如何在服务工作者中创建动态缓存名称?我想检查 API 服务器以了解我的应用程序的最新版本。它将是我的应用程序的缓存名称。我使用了 fetch 但它总是返回undefined
,
staticCacheName = (() => {
fetch('https://unitedspace.co.id/check_version.php')
.then(response => response.json())
.then(myJson => myJson.app_name + '-' + myJson.version + '.' + myJson.build_number);
})();
这是我的服务人员代码:
self.addEventListener('activate', function(e) {
e.waitUntil(caches.keys().then(function(cacheNames) {
return Promise.all(
cacheNames.map(function(cacheName) {
if (cacheName != 'blog-{{ site.github.build_revision }}') {
return caches.delete(cacheName);
}
})
);
}));
});
self.addEventListener('fetch', function(e) {
e.respondWith(caches.match(e.request).then(function(response) {
return response || fetch(e.request);
}));
});
解决方案
您的第一个片段中没有任何回报。正常吗?
推荐阅读
- php - 如何从ajax post函数中检索多个数据?
- python - Tkinter 主循环在后台
- sap-srm - 在 SAP SRM 中更改主题行并获取 PO 和合同的批准人列表
- java - 错误:无法找到或加载主类 mysql-connector-java-8.0.23.jar:为什么?
- rust - 如果不是如何表示仅使用位作为输入和输出的门逻辑,是否存在单个位类型
- neural-network - 什么是 10 层 Cnn?
- java - Eclipse 导入 - java Collections 无法解析错误
- macos - 在 MacOS 的终端中调用 open 会将另一个程序带到前台
- r - 在 R 中分组后,如何为不同的列重复函数?
- string - 在python中将字符串连接到单个字符串