Hirdetés
- Milyen egeret válasszak?
- Apple MacBook
- Azonnali alaplapos kérdések órája
- Milyen billentyűzetet vegyek?
- 4K vs 8K – Megéri-e a 8K TV 2026-ban?
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- E-book olvasók
- Eljött a CPU-k kora az AI-piacon
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- PLC programozás
-
PROHARDVER!
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
-
Karma
félisten
Az aszinkron működést nem tudod megkerülni, úgyhogy olyan getData függvényt, amit egyszerűen szinkron módon meghívsz és eredményeket ad vissza, lehetetlen írni. (Nem is feltétlen baj.)
Van egy pár lehetőséged, az egyik legegyszerűbb, ha adsz egy callback paramétert a getData függvényednek. Ez például egy olyan kétparaméteres függvény, aminek az első paramétere a futáskor történt hiba (lehet `null` is ha minden szép), a második pedig a tényleges adat.
A lényeg, hogy az indexedDB-s kódod az utolsó onsuccess handler végén meghívja ezt a függvényt, így tudod feldolgozni az eredményt.
Például:
this.getData = function(callback){
var open = indexedDB.open(database, 1);
open.onsuccess = function() {
// Start a new transaction
var db = open.result;
var tx = db.transaction(table, "readonly");
var request = tx.objectStore(table).getAll();
request.onsuccess = function() {
callback(null, request.result);
};
request.onerror = function() {
callback(request.errorCode);
};
// Close the db when the transaction is done
tx.oncomplete = function() {
db.close();
};
};
open.onerror = function() {
callback(open.errorCode);
}
};Máshol meg így hívod:
valami.getData(function(err, data) {
if (err) {
console.log("Error while reading data", err);
return;
}
console.log("Found data", data);
});Ha meg tisztább kódot akarsz, keress egy promise wrappert az IndexedDB-hez szerintem. Persze azt is meg kell tanulni használni először.
Amúgy sose használtam az IndexedDB-t, de a megérzésem azt mondja, hogy nem kéne minden lekérdezésnél nyitni-zárni.
Új hozzászólás Aktív témák
- Dobozos Szinte Új HyperX Cloud Alpha Bolti ár:27k INGYEN FOXPOST
- Samsung Galaxy S25 Ultra - 256 GB - szürke (341) újszerű, 10000 Ft kiegészítő ajándék, Garancia
- Samsung Galaxy S23 Ultra - 256 GB - fekete (340) Használt, 10000 Ft kiegészítő ajándék, Garancia
- Hitachi Travelstar 500 GB SATA II 2,5 Notebook HDD
- Új RAZER Kaira X For Xbox Blue Bolti ár:15k INGYEN FOXPOST
- BESZÁMÍTÁS! 64GB Patriot Viper 3600Mhz DDR4 memória garanciával hibátlan működéssel
- 27% PNY GeForce RTX 5070 EPIC-X RGB OC 12GB GDDR7 192bit (VCG507012TFXXPB1-O) Videokártya
- AKCIÓ! AMD Ryzen 7 5700X3D 8 mag 16 szál processzor garanciával hibátlan működéssel
- 27% - GMR 16GB (2x8GB) DDR3 1600MHZ Memoria!
- 27% - ÚJ - GIGABYTE RTX 5080 AORUS MASTER 16GB GDDR7 Videokártya! BeszámítOK
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

