service worker的fetch事件和cache的match

早些时候看到在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

关于 admin

所有重要的进步,都来源于失败和挫折的经历
此条目发表在 browser, ecmascript 分类目录。将固定链接加入收藏夹。