Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function getByIndex<T>(db: IDBDatabase, storeName: string, indexName: string, key: any): Promise<T[]> {
- let results = [];
- return new Promise<T[]>((resolve, reject) => {
- const transaction = db.transaction(storeName, 'readonly');
- const store = transaction.objectStore(storeName);
- const index = store.index(indexName);
- //on peut aussi faire index.get si on souhaite lire qu'une seule valeur
- const request = index.openCursor(key);
- request.onsuccess = (event: any) => {
- const cursor = event.target.result;
- if (cursor) {
- results.push(cursor.value);
- cursor.continue();
- } else {
- resolve(results);
- }
- };
- request.onerror = (event: any) => {
- reject(event.error);
- };
- });
- }
Add Comment
Please, Sign In to add comment