基于indexedDB API二次封装的支持过期时间,且采用promise封装的存储库
// 连接indexedDB数据库并创建表
var tableName = 'cacheTable'
window.db = xdb.loadDB({
name: 'cacheDB',
onUpdate(e) {
console.log('update', e)
db.createTable(tableName, { keyPath: 'path'})
},
onSuccess(e) {
console.log('success', e)
}
})
db.get(tableName, 'keypath').then(res => {})
// 或者在async函数中
const res = await db.get(tableName, 'keypath')
// 第三个参数为过期时间
db.add(tableName, data, 24 * 60 * 60 * 1000)
db.del(tableName, keyVal)
db.clear()
db.update(tableName, data)