[PWA] 12. Intro to IndexedDB

Use the library indexedDB-promised.

 

Create a database and stroe:

import idb from 'idb';

// Open(db_name, version, cb)
var dbPromise = idb.open('test-db', 1, function (upgradeDb) {
    var keyValStore = upgradeDb.createObjectStore('keyval'); // create table
    //put(value, key)
    keyValStore.put('world', 'Hello');
});

Notice put() function take value frist then key.

 

Read the key in stroe:

// read "hello" in "keyval"
dbPromise.then(function (db) {
    var tx = db.transaction('keyval'); // Open a transaction
    var keyValStore = tx.objectStore('keyval'); // read the store
    return keyValStore.get('hello'); // get value by key
}).then(function (val) {
    console.log('The value of "hello" is:', val);
});

 

Write value to store:

复制代码
// set "foo" to be "bar" in "keyval"
dbPromise.then(function (db) {
    var tx = db.transaction('keyval', 'readwrite'); // ready for add key value
    var keyValStore = tx.objectStore('keyval'); // get the store
    keyValStore.put('bar', 'foo'); // set the value, notice it may not be success if any step in transaction fail.
    return tx.complete; // tx.complete is a promise
}).then(function () {
    console.log('Added foo:bar to keyval');
});
复制代码

 

 

posted @   Zhentiw  阅读(214)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示