国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

淺談JavaScript的Polymer框架中的behaviors對象

2019-11-20 11:58:08
字體:
供稿:網(wǎng)友

localStorage 應(yīng)是家喻戶曉的?但本地存儲這個家族可遠不止它。以前扯過 sessionStorage,現(xiàn)在還有個神奇的 CacheStorage。它用來存儲 Response 對象的。也就是說用來對 HTTP ,響應(yīng)做緩存的。雖然 localStorage 也能做,但是它可能更專業(yè)。
  CacheStorage 在瀏覽器上的引用名叫 caches 而不是駝峰寫法的 cacheStorage,它定義在 ServiceWorker 的規(guī)范中。CacheStorage 是多個 Cache 的集合,而每個 Cache 可以存儲多個 Response 對象。
  廢話不能說再多,下面是 demo

<script>caches.delete('c1');caches.delete('c2');Promise.all([ caches.open('c1').then(function(cache) {  return cache.put('/hehe', new Response('aaa', { status: 200 })); }), caches.open('c2').then(function(cache) {  return cache.put('/hehe', new Response('bbb', { status: 200 })); })]).then(function() { return caches.match('/hehe');}).then(function(response) { return response.text();}).then(function(body) { console.log(body);});</script>

  首先,在 caches 上調(diào)用 open 方法就可以異步地得到一個 Cache 對象的引用。在這個對象上我們可以把 Response 對象 put 進去(參數(shù)是一個 URL 和一個 Response 對象)、用 match 方法取出(傳入一個 URL 取出對應(yīng)的 Response 對象)。
  match 方法不僅可以在 Cache 上調(diào)用 CacheStorage 上也有 match 方法,比如上面例子就打開了兩個 Cache,都寫入一個叫 /hehe 的 URL。在寫入操作完成之后,到外部的 CacheStorage 上調(diào)用 match 方法來匹配 /hehe,結(jié)果是隨機的(沒找到這個規(guī)則在哪里定義的)。
  雖然上面的例子中只對 Cache 對象 put 了一個數(shù)據(jù),而 Cache 對象本身可以存放更多的 URL/Response 對。并且提供了 delete(用戶刪除)、keys(用于遍歷)等方法。但是 Cache 并不像 localStorage 一樣有 clear 方法,如果非要清空一個 Cache,可以直接在 CacheStorage 上把整個 Cache 給 delete 掉再重新 open。
  這套 API 和 ServiceWorker 一家的,它通常被用于 ServiceWorker 中,整個設(shè)計風格也和 ServiceWorker 一樣都基于 Promise。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 定兴县| 海伦市| 永城市| 四平市| 新安县| 万盛区| 普洱| 普宁市| 博罗县| 象山县| 芦溪县| 方山县| 庆云县| 邵阳县| 焦作市| 古蔺县| 五指山市| 汕尾市| 永年县| 乌拉特中旗| 平罗县| 郸城县| 迭部县| 宁海县| 南阳市| 昌邑市| 遵化市| 报价| 张家口市| 杭州市| 武平县| 大安市| 兴安县| 光山县| 右玉县| 昆明市| 陈巴尔虎旗| 江口县| 伽师县| 锦屏县| 广水市|