客户端存储——indexedDB(下)

92 阅读1分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第12天,点击查看活动详情

《客户端存储——indexedDB(上)》

接上一小节indexedDB的创建事务和插入。这一节我们来看游标和索引。

游标查询

事务可以通过一个键值取得一个记录。如果要取得多条。就需要在事务中创建游标。

游标是一个指向结果集的指针。游标不会先收集所有结果。他会指向第一个结果。不接收到指令。不会主动查找下一条数据。

  • 调用openCursor创建游标。并添加onsuccess和onerror事件
  • 通过onsuccess回调中的res.target.result可以拿到对象存储中的下一条记录。
  • res.target.result中保存着IDBCursor的实例。

IDBCursor属性有:

  • direction
  • key
  • value
  • primaryKey
let req = store.openCursor()
req.onsuccess = (res)=>{
     const cursor = res.target.result
     console.log(cursor)
}
req.onerror = ()=>{

}