我正在遍历 indexedDB 数据存储,将数据添加到 JavaScript 数组。如何判断光标何时到达末尾,以便对数组进行排序并对其进行操作?
当从游标中检索到一行时调用 onsuccess - 当整个游标已导航时是否有另一个回调?
最佳答案
成功的游标请求的结果 (event.target.result
) 是游标对象或 null。
如果设置了event.target.result
,就是游标,可以访问event.target.result.value
。然后,您可以调用 event.target.result.continue()
继续处理下一个对象(如果有)。
如果未设置event.target.result
,则不再有对象。
为了说明,我的一个项目中的一些代码:
var collectObjects = function (request, cb) {
var objects = []
request.onsuccess = function (event) {
if (!event.target.result) return cb(null, objects)
cursor = event.target.result
objects.push(cursor.value)
cursor.continue()
}
request.onerror = function (event) {
cb(event.target.error)
}
关于javascript - HTML5 如何判断 IndexedDB 游标何时结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16639427/