gpt4 book ai didi

javascript - 如何从 IndexedDB 中的 objectstore.put() 返回自动递增 ID?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:35:58 24 4
gpt4 key购买 nike

如何在使用 objectstore.put() 将记录插入 IndexedDB 后返回自动递增的 ID?

下面是我的代码:

idb.indexedDB.addData = function (objectStore, data) {
var db = idb.indexedDB.db;
var trans = db.transaction([objectStore], READ_WRITE);
var store = trans.objectStore(objectStore);
 
 
 
var request = store.put(data);
request.onsuccess = function (e) {
//Success, how do I get the auto incremented id?
};
request.onerror = function (e) {
console.log("Error Adding: ", e);
};
};

最佳答案

使用e.target.result。由于API是异步的,所以必须使用callback来获取返回值,如下:

idb.indexedDB.addData = function (objectStore, data, callback) {
var db = idb.indexedDB.db;
var trans = db.transaction([objectStore], READ_WRITE);
var store = trans.objectStore(objectStore);
   
var request = store.put(data);
request.onsuccess = function (e) {
callback(e.target.result);
};
request.onerror = function (e) {
console.log("Error Adding: ", e);
callback(undefined);
};
};

关于javascript - 如何从 IndexedDB 中的 objectstore.put() 返回自动递增 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12502830/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com