javascript - HTML5 如何判断 IndexedDB 游标何时结束

标签 javascript html indexeddb database-cursor

我正在遍历 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/

相关文章:

javascript - 显示 map Google map JavaScript API v3

javascript - 如果输入框有内容,则选中复选框

javascript - 选择子li时如何将父li类设置为active

html - 为什么不能正确对齐? CSS

javascript - 索引数据库 : read and return the object

javascript - LIST 的 itemTpl 上的 sencha touch::substr()

javascript - 无法更新 JavaScript 全局变量

javascript - 带有嵌套数组的微模板

sqlite - IE 是否支持 indexedDB、WebSQL 或类似于 SQLite 的数据库?

javascript - 无法在 Safari 上的 IndexedDB 中存储 Blob 类型