Guest User

Untitled

a guest
Mar 19th, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.69 KB | None | 0 0
  1. function getByIndex<T>(db: IDBDatabase, storeName: string, indexName: string, key: any): Promise<T[]> {
  2. let results = [];
  3. return new Promise<T[]>((resolve, reject) => {
  4. const transaction = db.transaction(storeName, 'readonly');
  5. const store = transaction.objectStore(storeName);
  6. const index = store.index(indexName);
  7. //on peut aussi faire index.get si on souhaite lire qu'une seule valeur
  8. const request = index.openCursor(key);
  9. request.onsuccess = (event: any) => {
  10. const cursor = event.target.result;
  11. if (cursor) {
  12. results.push(cursor.value);
  13. cursor.continue();
  14. } else {
  15. resolve(results);
  16. }
  17. };
  18. request.onerror = (event: any) => {
  19. reject(event.error);
  20. };
  21. });
  22. }
Add Comment
Please, Sign In to add comment