6

我正在遍历 indexedDB 数据存储,将数据添加到 JavaScript 数组。如何判断光标何时位于末尾,以便对数组进行排序并对其进行操作?

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

4

1 回答 1

8

成功的游标请求的结果 ( 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)
    }
于 2013-05-19T22:15:00.403 回答