Javascript indexeddb从索引n到索引k获取数据

Javascript indexeddb从索引n到索引k获取数据,javascript,indexeddb,Javascript,Indexeddb,如何从索引号n到k的对象存储中获取数据。 例如,如果一个存储(ProductStore)中有100条记录,则需要从索引11到20或50到60获取一条记录。我需要在分页时使用这个。在mysql中,我们可以使用LIMIT和OFFSET clouse,Indexeddb中是否有与OFFSET等效的值。您可以使用它跳过一些记录。游标没有限制,只需通过计算迭代次数来停止迭代即可 大概是这样的: 函数查询(数据库、条件、偏移量、限制){ 返回新承诺((解决、拒绝)=>{ 常量结果=[]; const tra

如何从索引号n到k的对象存储中获取数据。 例如,如果一个存储(ProductStore)中有100条记录,则需要从索引11到20或50到60获取一条记录。我需要在分页时使用这个。在mysql中,我们可以使用LIMIT和OFFSET clouse,Indexeddb中是否有与OFFSET等效的值。

您可以使用它跳过一些记录。游标没有限制,只需通过计算迭代次数来停止迭代即可

大概是这样的:

函数查询(数据库、条件、偏移量、限制){
返回新承诺((解决、拒绝)=>{
常量结果=[];
const transaction=db.transaction('store');
transaction.oncomplete=event=>resolve(结果);
transaction.onerror=event=>reject(event.target);
const store=transaction.objectStore('store');
const index=store.index('index');
const请求=index.openCursor(标准);
设高级=偏移量===0;
设计数器=0;
request.onsuccess=事件=>{
const cursor=event.target.result;
如果(!游标){
返回;
}
如果(!高级){
高级=正确;
光标。前进(偏移);
}
计数器++;
结果.推送(游标.值);
如果(计数器>=限制){
返回;
}
cursor.continue();
};
});
}