- Android alkalmazások - szoftver kibeszélő topik
- Mobil flották
- Fotók, videók mobillal
- iPhone topik
- Okosóra és okoskiegészítő topik
- Samsung Galaxy S25 Edge - a tegnap határán
- Honor Magic V5 - méret a kamera mögött
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Lesz Xperia 10 VII, méghozzá újratervezett külsővel
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
-
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
-
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
- Asus ROG Flow Z13 WUXGA 120Hz 2in1 Touch i9-12900H 14mag 16GB 512GB Nvidia RTX 3050Ti W11 Garancia
- Asus ROG Flow Z13 WUXGA 120Hz 2in1 Touch i9-12900H 14mag 16GB 512GB Nvidia RTX 3050Ti Win11 Garancia
- Eladó iPhone 14 Pro 128GB Black Karcmentes
- iPhone 14 Pro 1TB Deep Purple Hatalmas tárhely, 100% akku!
- MSI GTX1660 super 6gb új állapot OEM 2db.
- SzoftverPremium.hu
- Samsung Galaxy Book2 NP750XED i7-1255U 16GB 512GB GARANCIA: 1 ÉV
- BESZÁMÍTÁS! Asus B360M i7 9700 16GB DDR4 512GB SSD RX 6650 XT 8GB ZALMAN N4 600W
- Gamer PC-Számítógép! Csere-Beszámítás! I5 12400F / RTX 3060Ti / 32GB DDR4 / 512 M.2 SSD
- Bomba Ár! Dell Latitude 3190 - Intel N4120 I 4GB I 64GB SSD I 11,6" HD I Cam I W11 I Garancia!
Állásajánlatok
Cég: FOTC
Város: Budapest