2016-04-02 14 views
2

我使用的是sw-toolbox,它是Google提供的服务工作者库。在成功从缓存加载内容后,我想将cacheFirst策略(请参阅上面的链接中的自述文件)与网络提取结合起来。可能吗?因此,例如像水木清华:如何强制Service-worker从缓存中加载后从网络请求路由?

toolbox.router.get('/api/currentUserID',toolbox.cacheFirst).then(fetchFromNetwork()); 

非常感谢您的帮助:)

回答

6

如果使用toolbox.fastest,将得到缓存响应或网络的响应,这是有史以来最快的(这几乎肯定会永远缓存),然后用来自网络的响应更新缓存。

+0

@Guant感谢您的回答:)我不确定它是否适合我。在我的服务人员中,定义了以下路由: 'toolbox.router.get('/ api/threads/*',toolbox.fastest); ' 然而调试器说: 'SW-工具箱:18 [SW-工具箱]策略:最快[HTTP://本地主机:3000/API /线程/ 100004344516230 /部分/ 1] SW-工具箱:18 [sw-toolbox]策略:只缓存[http:// localhost:3000/api/threads/100004344516230 /部分/ 1]' 所以它实际上只使用cacheOnly :) 这样好吗? – wklm

+0

是的,这很好,因为它只向缓存发送一个请求,向网络发送一个请求,但它同时发送请求。 –