- gban: Ingyen kellene, de tegnapra
- Kempingezés és sátrazás
- Elektromos rásegítésű kerékpárok
- votlage71: Kábel menedzsment
- GoodSpeed: AMD Ryzen 9 9900X (100-100000662WOF)+ Samsung 990 PRO 2TB MZ-V9P2T0BW
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- laskr99: Processzor és videokártya szilícium mag fotók újratöltve!
- LordAthis: Ismét egy "Idióta" A.I. Projekt, hogy meglovagolja az aktuális trendeket...
- hege8888: Retro Kocka Kuckó 3
Hirdetés
-
LOGOUT
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
Jim-Y
veterán
En ezt valahogy igy oldanam meg. Kicsit objektumorientaltabb.
class DataSourceIndexedDB extends EventEmitter {
get MESSAGES() {
return {
CONNECTION_ERROR: 'error',
DATABASE_OPENED: 'db-opened'
}
}
constructor(databaseName) {
this._dbName = databaseName;
this._database = null;
}
openDatabase() {
const request = indexedDB.open(this._dbName, 1);
request.onerror = this.onConnectionError.bind(this);
request.onsuccess = this.onConnectionSuccess.bind(this);
}
onConnectionError(event) {
this.emit(this.MESSAGES.CONNECTION_ERROR, {
code: event.target.errorCode
});
}
onConnectionSuccess(event) {
this._database = event.target.result;
this.emit(this.MESSAGES.DATABASE_OPENED);
}
getObjectStore(storeName, mode) {
const tx = this._database.transaction(storeName, mode);
return tx.objectStore(storeName);
}
}
const database = 'xyz';
const table = 'xyz';
const indexedDB = new DataSourceIndexedDB(database);
// might be automated in constructor
indexedDB.openDatabase();
indexedDB.on(indexedDB.MESSAGES.DATABASE_OPENED, () => {
const store = indexedDB.getObjectStore(table, 'readwrite');
const request = store.getAll();
request.onsuccess = (event) => {
const data = event.target.result;
// do smtg with data
};
request.onerror = (event) => {
// error handling
}
});
Új hozzászólás Aktív témák
Hirdetés
- Samsung Galaxy S21 Ultra / 12GB RAM 256GB / Gyárifüggetlen / 12Hó Garancia
- Samsung Galaxy Tab S6 Lite / 4GB RAM 64GB / Független / 12 Hó Garancia
- Honor Pad X9 / 4GB RAM 128 GB / Kártyafüggetlen / 12Hó Garancia
- Samsung Galaxy Tab A8 / 3GB RAM 32GB / Wi-fi / 12 Hó Garancia
- Apple Air Pad 5.generácio / 32GB / Wi-fi / 12Hó garancia
- HIBÁTLAN iPhone 13 mini 128GB Starlight -1 ÉV GARANCIA - Kártyafüggetlen, MS3129
- Okosóra felvásárlás!! Samsung Galaxy Watch 5 Pro, Samsung Galaxy Watch 6 Classic
- Epson Workforce DS-530II dokumentumszkenner
- ÚJ Lenovo LOQ 15IRX9 - QHD 165Hz - i7-13650HX - 16GB - 1TB - RTX 4060 - Win11 - 3 év garancia - HUN
- REFURBISHED és ÚJ - Lenovo ThinkPad Ultra Docking Station (40AJ)
Állásajánlatok
Cég: FOTC
Város: Budapest