gpt4 book ai didi

javascript - 等待 IDBCursor.onsuccess 完成

转载 作者:行者123 更新时间:2023-12-02 19:17:37 24 4
gpt4 key购买 nike

我有一个 IndexedDB,其中包含页面上各种元素的属性。我对其中一个属性有一个索引,并使用键范围来获取特定的结果列表。

var key = IDBKeyRange.bound(10, 20);
var cursor = store.index('property').openCursor(key);

我遇到的问题是 cursor.onsuccess 函数。它似乎针对结果集中的每个结果执行。因此,一旦解析了所有结果,我就无法执行回调函数。

cursor.onsuccess = function (e) {
var cursor = e.target.result;
if (cursor) {
if (cursor.value.prop1 > 30 && cursor.value.prop2 < 80) {
// Do stuff with result
someArray.push({
prop1: cursor.value.prop1,
prop2: cursor.value.prop2
}):
}
}
cursor.continue();
};

最佳答案

知道您的操作已完成的最安全方法是使用完成事件上的事务。该事件在光标关闭后触发。

transaction.oncomplete = function (event) {
console.log('transaction completed');
};

此外,为了确保没有发生错误,请在发生错误和中止时将事件监听器添加到事务事件中。

transaction.onerror = function (event) {
console.log('transaction error');
};

transaction.onabort = function (event) {
console.log('transaction abort');
};

关于javascript - 等待 IDBCursor.onsuccess 完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12943018/

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