IDBCursorWithValue
接口在
IndexedDB API
represents a
cursor
for traversing or iterating over multiple records in a database. It is the same as the
IDBCursor
, except that it includes the
value
特性。
The cursor has a source that indicates which index or object store it is iterating over. It has a position within the range, and moves in a direction that is increasing or decreasing in the order of record keys. The cursor enables an application to asynchronously process all the records in the cursor's range.
You can have an unlimited number of cursors at the same time. You always get the same
IDBCursorWithValue
object representing a given cursor. Operations are performed on the underlying index or object store.
<div id="interfaceDiagram" style="display: inline-block; position: relative; width: 100%; padding-bottom: 11.666666666666666%; vertical-align: middle; overflow: hidden;"><svg style="display: inline-block; position: absolute; top: 0; left: 0;" viewbox="-50 0 600 70" preserveAspectRatio="xMinYMin meet"><a xlink:href="../API/IDBCursor" target="_top"><rect x="1" y="1" width="90" height="50" fill="#fff" stroke="#D4DDE4" stroke-width="2px" /><text x="46" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">IDBCursor</text></a><polyline points="91,25 101,20 101,30 91,25" stroke="#D4DDE4" fill="none"/><line x1="101" y1="25" x2="131" y2="25" stroke="#D4DDE4"/><a xlink:href="../API/IDBCursorWithValue" target="_top"><rect x="131" y="1" width="180" height="50" fill="#F4F7F8" stroke="#D4DDE4" stroke-width="2px" /><text x="221" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">IDBCursorWithValue</text></a></svg></div>
a:hover text { fill: #0095DD; pointer-events: all;}
Inherits methods from its parent interface,
IDBCursor
.
继承来自其父级接口的特性,
IDBCursor
.
IDBCursorWithValue.value
只读
Returns the value of the current cursor.
In this example we create a transaction, retrieve an object store, then use a cursor to iterate through all the records in the object store. T
he cursor does not require us to select the data based on a key; we can just grab all of it. Also note that in each iteration of the loop, you can grab data from the current record under the cursor object using
cursor.value.foo
. For a complete working example, see our
IDBCursor example
(
实时查看范例
)。
function displayData() {
var transaction = db.transaction(['rushAlbumList'], "readonly");
var objectStore = transaction.objectStore('rushAlbumList');
objectStore.openCursor().onsuccess = function(event) {
var cursor = event.target.result;
if(cursor) {
var listItem = document.createElement('li');
listItem.innerHTML = cursor.value.albumTitle + ', ' + cursor.value.year;
list.appendChild(listItem);
cursor.continue();
} else {
console.log('Entries all displayed.');
}
};
};
| 规范 | 状态 | 注释 |
|---|---|---|
|
索引数据库 API 2.0
The definition of 'IDBCursorWithValue' in that specification. |
推荐 | |
|
索引数据库 API 草案
The definition of 'IDBCursorWithValue' in that specification. |
推荐 |
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
IDBCursorWithValue
|
Chrome
24
|
Edge 12 |
Firefox
16
|
IE 部分支持 10 | Opera 15 | Safari 7 |
WebView Android
Yes
|
Chrome Android
25
|
Firefox Android 22 | Opera Android 14 | Safari iOS 8 |
Samsung Internet Android
1.5
|
value
|
Chrome
24
|
Edge 12 |
Firefox
16
|
IE 部分支持 10 | Opera 15 | Safari 7 | WebView Android Yes | Chrome Android Yes | Firefox Android 22 | Opera Android 14 | Safari iOS 8 | Samsung Internet Android Yes |
| Available in workers | Chrome Yes | Edge ≤18 | Firefox 42 | IE ? | Opera Yes | Safari ? | WebView Android Yes | Chrome Android Yes | Firefox Android 42 | Opera Android Yes | Safari iOS ? | Samsung Internet Android Yes |
完整支持
部分支持
兼容性未知
要求使用供应商前缀或不同名称。
IDBDatabase
IDBTransaction
IDBKeyRange
IDBObjectStore
IDBCursor
IDBCursorWithValue
IDBCursor
IDBCursorSync
IDBDatabase
IDBDatabaseException
IDBDatabaseSync
IDBEnvironment
IDBEnvironmentSync
IDBFactory
IDBFactorySync
IDBIndex
IDBIndexSync
IDBKeyRange
IDBObjectStore
IDBObjectStoreSync
IDBOpenDBRequest
IDBRequest
IDBTransaction
IDBTransactionSync
IDBVersionChangeEvent
IDBVersionChangeRequest