Hirdetés
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Google Pixel topik
- Gyorsabb lesz a tárhely, de drágább lesz a Nothing Phone (4a)
- CES 2026: Aláírjuk a Motorola Signature mutatós külsejét
- Bemutatkozott a Poco X7 és X7 Pro
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Samsung Galaxy A56 - megbízható középszerűség
- Samsung Galaxy S25 - végre van kicsi!
- Honor 200 Pro - mobilportré
- iPhone topik
-
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
- Apple iPhone 15 128GB,Átlagos,Dobozaval,12 hónap garanciával
- Lenovo L13 Core I3-10110U / 4GB DDR4 / LAPTOP 1
- Targus DOCK423A - USB-C Dual HDMI 4K HUB - 2 x HDMI (120Hz)
- Telefon felvásárlás!! iPhone 12 Mini/iPhone 12/iPhone 12 Pro/iPhone 12 Pro Max
- BESZÁMÍTÁS! Részletfizetés 0% THM ÚJ AMD RYZEN 7 5700X3D OEM processzor 3 év 27% áfa
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest


