我正在遍历一个indexedDB数据存储,将数据添加到JavaScript数组中。如何判断光标是否在末尾,以便我可以对数组进行排序并采取行动?
当光标检索到一行时,会调用onsuccess - 是否有另一个回调来导航整个光标?
当光标检索到一行时,会调用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)
}