-
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
- Azonnali fotós kérdések órája
- MIUI / HyperOS topik
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Harry Potter - fan topic
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Azonnali VGA-s kérdések órája
- Filmvilág
- Házimozi belépő szinten
- Fejhallgató erősítő és DAC topik
- További aktív témák...
- Intel D3-S4510 1,92 TB - 2,5", SATA3, 7100 TBW - 100/99% - Eladó!
- Intel D3-S4510 1,92 TB - 2,5", SATA3, 7100 TBW - Új - Eladó!
- P1 Gen5 16" FHD+ IPS i7-12800H RTX A1000 32GB 1TB NVMe ujjlolv IR kam gar
- SAPPHIRE RX 6700 10GB GDDR6 PULSE GAMING OC - Új, 1 év garancia - Eladó!
- Mac mini M2 & Magic Keyboard
- Honor 200 Pro 512GB, Kártyafüggetlen, 1 Év Garanciával
- Samsung Galaxy Z Fold 7 512GB,Átlagos,Dobozaval,24 hónap garanciával
- Lenovo ThinkPad L13 Gen 2 Yoga Ryzen3 5400U Refurbished - Garancia
- Lenovo Thinkpad X1 Yoga 5th Gen. i7 10th, 16GB RAM 27% ÁFÁS (0329)
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
