- Áramkiegyenlítőt fejlesztett a modern GeForce-okhoz az Aqua Computer
- Gaming notebook topik
- Milyen TV-t vegyek?
- Elképesztő lemaradásban van az aktuális Loongson CPU-család
- Nem akármilyen új GeForce jöhet idén
- OLED TV topic
- Projektor topic
- Hobby elektronika
- NVIDIA GeForce RTX 4060 / 4070 S/Ti/TiS (AD104/103)
- TCL LCD és LED TV-k
-
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
- Áramkiegyenlítőt fejlesztett a modern GeForce-okhoz az Aqua Computer
- Gaming notebook topik
- Milyen TV-t vegyek?
- World of Tanks - MMO
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- AliExpress tapasztalatok
- Elképesztő lemaradásban van az aktuális Loongson CPU-család
- Elemlámpa, zseblámpa
- Nem akármilyen új GeForce jöhet idén
- Tőzsde és gazdaság
- További aktív témák...
- utolsó - Dell Alienware 18 Area-51 AA18250 18" - Intel Core Ultra 9 275HX, 64GB, 2TB SSD, RTX 5090
- KÉSZLETKISÖPRÉSI ULTRAAKCIÓ! - MacBook Air M4 16GB 512GB Garancia!
- HIBÁTLAN iPhone 12 Pro 256GB Graphite-1 ÉV GARANCIA - Kártyafüggetlen, MS4518, 100% Akksi
- Apple iPhone 15 128 GB Pink 1 év Garancia Beszámítás Házhozszállítás
- PS Plus előfizetések kedvező áron
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs


