-
Fototrend
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
- One mobilszolgáltatások
- Soundcore Sleep A30 - a hosszú házasság titka
- Építő/felújító topik
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Háztartási gépek
- Battlefield 6
- Milyen autót vegyek?
- Mibe tegyem a megtakarításaimat?
- Bittorrent topik
- További aktív témák...
- Új, bontatlan Kingston FURY 32GB (2x16GB) DDR5 6000MHz CL30 Beast RGB XMP/EXPO - 2 év bolti gari!
- Lian Li TL Led 120 fehér eladó
- Thinkpad X13 Gen2 13.3" FHD+ IPS i7-1185G7 16GB 256GB NVMe gar
- Precision 5550 15.6" 4K+ IPS érintő i7-10750H T1000 16GB 512GB NVMe ujjolv IR kam gar
- Gigabyte RTX 5070 Ti AERO OC - Garancia 2029.01.06-ig +1 év gyártói garancia
- iPhone 15 Pro 256GB Blue Titanium-1 ÉV GARANCIA - Kártyafüggetlen, MS4438
- BESZÁMÍTÁS! Lenovo Thinkpad L14 Gen 1 notebook - i5 10210U 16GB DDR4 512GB SSD Intel UHD GraphicsW11
- Bomba ár! HP ProBook 430 G4 - i5-G7 I 8GB I 128GB SSD I HDMI I 13,3" I Cam I W11 I Gari!
- 208 - Lenovo LOQ (17IRB8) - Intel Core i7-13700F, RTX 4060
- Xeon E5 1650 v3, 2680 v3, 2690 v3 processzorok
Állásajánlatok
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Cég: Laptopműhely Bt.
Város: Budapest

