service worker的fetch事件和cache的match
By admin
早些时候看到在work service中可以拦截fetch从而起到缓存的作用。
这两天自己试了试,发现这个fetch不是狭义的原生fetch函数,浏览器发起的http请求,普通ajax都在被拦截之列。亏的我原来为了用service worker缓存还打算把原来qwest的请求换成fetch,看来是不用的。
cache和caches都有match方法,但cache的match经我试验是跨caches的key的,不是当前open的key的cache都能匹配到,只不过在then的回调中response是undefined。从api的定义上,感觉不应该是这样,如果match不到,应该reject才多啊。
caches的match也是跨key的,这个好理解。
参考
https://developer.mozilla.org/en-US/docs/Web/API/Cache/match