-
Mobilarena
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
- Vivo X200 Pro - a kétszázát!
- Gurulunk, WAZE?!
- A fociról könnyedén, egy baráti társaságban
- Steam topic
- Yettel topik
- Luck Dragon: Asszociációs játék. :)
- HÁZIMOZI / HIFI / TV beárazás
- The Division 2 (PC, XO, PS4)
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- EA Sports WRC '23
- További aktív témák...
- Önerő nélkül is elvihető! RÉSZLETRE .OPCIONÁLIS. Gamer szék noblechairs HERO Valódi Bőr Fekete
- Xbox Game Pass Ultimate előfizetések kedvező áron
- AZONNALI SZÁLLÍTÁS Eredeti Microsoft Office 2019 Professional Plus
- Bomba ár! Dell Latitude 5495 - Ryzen 5 I 8GB I 256SSD I 14" FHD I HDMI I Radeon I Cam I W10 I Gari
- LG 27GN800P - 27" IPS - 2560x1440 - 144 hz 1ms - NVIDIA G-Sync - AMD FreeSync - HDR 10
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest