html5的service worker,html5 – 在ServiceWorker中访问indexedDB.比赛条件

在ServiceWorker中展示indexedDB的示例并不多,但我看到的结构都是这样的:

const request = indexedDB.open( 'myDB', 1 );

var db;

request.onupgradeneeded = ...

request.onsuccess = function() {

db = this.result; // Average 8ms

};

self.onfetch = function(e)

{

const requestURL = new URL( e.request.url ),

path = requestURL.pathname;

if( path === '/test' )

{

const response = new Promise( function( resolve )

{

console.log( performance.now(), typeof db ); // Average 15ms

db.transaction( 'cache' ).objectStore( 'cache' ).get( 'test' ).onsuccess = function()

{

resolve( new Response( this.result, { headers: { 'content-type':'text/plain' } } ) );

}

});

e.respondWith( response );

}

}

ServiceWorker启动时可能会失败,如果是这样,在ServiceWorker中访问indexedDB的有效方法是什么?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值