#和local storage的区别
1.不需要JSON.stringify或JSON.parse来处理。
2. 既可以用于网页又可以用于service worker。
3. 可用于二进制文件。
IndexDB包括域名,如果没有createStore会自动创建数据库,并命名,如图keyval-store
具体方法
import {
get,
set,
del,
update,
keys,
values,
entries,
createStore,
} from "https://cdn.jsdelivr.net/npm/idb-keyval@6/+esm";
(function init() {
set("user_id", Date.now())
.then((res) => {
console.log("user_id set");
})
.catch(() => {
console.warn();
});
const myObj = {
id: 1,
email: "sdkjfds@test.com",
};
set("info", myObj)
.then((res) => {
console.log("successfully set info");
})
.catch(() => console.warn);
get("info")
.then((data) => {
console.log(data.id, data.email);
})
.catch(() => console.warn);
update("user_id", (val) => {
return val - 1000;
})
.then((res) => {
console.log("successfully set info");
})
.catch(() => console.warn);
set("nope", 123);
del("nope")
.then(() => console.log("deleted"))
.catch(() => console.warn);
keys().then((k) => {
console.log("key", k);
});
values().then((v) => {
console.log("value", v);
});
entries().then((v) => {
console.log("value", v);
});
});