【发布时间】:2017-12-30 21:38:22
【问题描述】:
我有一个 web 应用程序也应该可以离线工作。 为此,我使用 javascript 服务人员将必要的文件放入缓存中。 如果连接正常,它会从网络加载所有资源。 如果没有连接,则从缓存中加载资源。 这工作正常。
现在的问题是,如果设备上有互联网连接但服务器已关闭。 然后它永远不会回退到缓存,因为它有互联网连接。
这是我在 service-worker.js 中获取事件的代码:
self.addEventListener('fetch', function(event) {
event.respondWith(
fetch(event.request).catch(function() {
return caches.match(event.request);
})
);
});
我的想法是实现一种超时,如果应用程序无法在 30 秒内获取内容,则始终使用缓存。 有谁知道如何实现这个?我不太适合承诺...
【问题讨论】:
标签: javascript caching service-worker offline-caching