我有一个IndexedDB数据存储,其中包含几百个对象。我想根据该商店的其中一个索引中的顺序从其中获取项目40-59。有没有办法做到这一点,而无需在开始使用数据之前简单地调用cursor.continue()39次?就处理时间而言,这看起来很浪费。使用IndexedDB光标进行分页
6
A
回答
2
我相信你可以打电话cursor.advance(40)
6
我有同样的问题,cursor.advance(40)
是您要使用的东西。
有一件事花了我一段时间才弄清楚对其他人可能会有用的是,如果你想推进光标并遍历结果,你将需要在单独的openCursor().onsuccess
处理程序中调用它们,或者实现某种跟踪以防止它们在相同的请求中被调用或者抛出异常。这是可以做到像这样:
不同的处理器
// advance first
store.openCursor().onsuccess = function(event) {
var cursor = event.target.result;
cursor.advance(40);
};
// then iterate
objectStore.openCursor().onsuccess = function(event) {
var cursor = event.target.result;
cursor.continue();
});
相同的处理
// create flag for advancing
var advancing = true;
store.openCursor().onsuccess = function(event) {
var cursor = event.target.result;
// advancing
if (advancing === true) {
cursor.advance(40);
// set advancing flag to false so we don't advance again
advancing = false;
}
// continuing
else {
cursor.continue();
}
}
规格参考:http://www.w3.org/TR/IndexedDB/#widl-IDBCursor-advance-void-unsigned-long-count MDN参考与例如:https://developer.mozilla.org/en-US/docs/Web/API/IDBCursor.advance
相关问题
- 1. 使用光标从IndexedDb获取结果页面
- 2. 用光标Solr/Solrj分页
- 3. Django光标分页
- 4. 使用CreateDerivedCollection进行分页
- 5. 使用POST进行分页
- 6. 使用UIScrollView进行分页
- 7. 光标基于分页和实时数据进行离线第一应用
- 8. Solr:使用分页光标获取前一页
- 9. Solr光标标记和分页
- 10. 使用ajax和asp.net进行分页mvc
- 11. 如何使用NHibernate进行分页?
- 12. REST使用Java进行分页拨打
- 13. 使用php和mysql进行Ajax分页
- 14. 使用mysql_data_seek进行分页问题
- 15. 使用Drupal REST视图进行分页?
- 16. 使用Hibernate与Struts2进行分页implimentation
- 17. 使用Datatable进行自定义分页?
- 18. 使用mysql在nodejs中进行分页
- 19. 如何使用cursor()进行分页?
- 20. 如何使用simpledb进行分页?
- 21. 我可以使用<nav>标签进行分页吗?
- 22. 使用搜索标准对查询结果进行分页
- 23. 如何使用node-mongodb-native游标在Mongodb中进行分页?
- 24. 在SQL中使用分页记录进行分页
- 25. 使用alethes进行分页:使用订阅的页面
- 26. 使用光标
- 27. 使用光标
- 28. 反应,光滑的自定义分页分页道具使用
- 29. 使用分段执行在Azure TableClient 2.0中进行分页
- 30. 使用svg-pan-zoom进行缩放后的光标位置