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

时间:2013-05-19 20:58:59

标签: javascript html5 cursor indexeddb

我正在通过indexedDB数据存储进行迭代,将数据添加到JavaScript数组中。如何判断光标何时结束,我可以对数组进行排序并对其进行操作?

当从游标中检索到一行时,会调用 onsuccess - 导航整个游标时是否还有另一个回调?

1 个答案:

答案 0 :(得分:6)

成功的游标请求的结果(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)
    }