2016-04-02 15 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

是的,這很好,因爲它只向緩存發送一個請求,向網絡發送一個請求,但它同時發送請求。 –