IDBObjectStore.openCursor - Web API 接口参考 编辑

IDBObjectStore 的 openCursor() 方法 返回一个IDBRequest 对象,并在一个单独的线程中,返回一个新的 IDBCursorWithValue 对象。此方法目的是用一个游标来遍历一个对象存储空间。

若要确认此操作是否成功完成,请监听结果的 success 事件。

Note: 此特性在 Web Worker 中可用。

语法

var request = ObjectStore.openCursor(query, direction);

参数

query 可选
要查询的键或者 IDBKeyRange 。如果传一个有效的键,则会默认为只包含此键的范围。如果此参数不传值,则默认为一个选择了该对象存储空间全部记录的键范围。
direction 可选
一个 IDBCursorDirection 来告诉游标要移动的方向。有效的值有 "next" 、"nextunique" 、"prev" 和 "prevunique"。默认值是 "next"

返回

一个 IDBRequest 对象,在此对象上触发与此操作相关的后续事件。

异常

此方法可能引起以下类型之一的 DOMException

异常描述
InvalidStateErrorIDBObjectStoreIDBIndex 已被删除。
TransactionInactiveErrorIDBObjectStore 的事务处于非活动状态。
DataError指定的键或键范围无效。

例子

在下面这个简单的片段中,我们创建一个事务,检索一个对象存储空间,然后用一个游标去遍历该对象存储空间的所有记录:

var transaction = db.transaction("name", "readonly");
var objectStore = transaction.objectStore("name");
var request = objectStore.openCursor();
request.onsuccess = function(event) {
  var cursor = event.target.result;
  if(cursor) {
    // cursor.value 包含正在被遍历的当前记录
    // 这里你可以对 result 做些什么
    cursor.continue();
  } else {
    // 没有更多 results
  }
};

规范 

SpecificationStatusComment
Indexed Database API
openCursor()
Recommendation 
Indexed Database API 2.0
openCursor()
Recommendation 

浏览器兼容性

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!
FeatureChromeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Basic support23webkit
24
10 moz
16.0 (16.0)
10, partial157.1
FeatureAndroidFirefox Mobile (Gecko)Firefox OSIE PhoneOpera MobileSafari Mobile
Basic support4.422.0 (22.0)1.0.11022未实现

另请参阅

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:54 次

字数:7759

最后编辑:7 年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文