Hirdetés
- Samsung Galaxy A54 - türelemjáték
- Samsung Galaxy S23 Ultra - non plus ultra
- Örömhír: nem spórol Európán a OnePlus
- Milyen okostelefont vegyek?
- Ekkor startol és ennyit gyártanak a Galaxy TriFoldból
- Xiaomi 15T Pro - a téma nincs lezárva
- Huawei Watch 4 Pro - kívül-belül domborít
- Külföldi prepaid SIM-ek itthon
- Google Pixel topik
- Android alkalmazások - szoftver kibeszélő 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
- Ne várj sokat a vásárlással: drágulás a láthatáron
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Gigantikus fordulatot vett a GeForce RTX 50 Super sorozat törlése
- Milyen processzort vegyek?
- BOINC: compute for science
- Amlogic S905, S912 processzoros készülékek
- Kerékpárosok, bringások ide!
- Assetto Corsa Rally
- Samsung Galaxy A54 - türelemjáték
- További aktív témák...
- Telefon Felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
- Asus ROG G20AJ - Intel Core i7-4790, GTX 980 + eredeti doboz
- Kaspersky, BitDefender, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- HIBÁTLAN iPhone 15 Pro 128GB Blue Tianium -1 ÉV GARANCIA - Kártyafüggetlen, MS3909, 100% Akkumulátor
- BESZÁMÍTÁS! ASUS H510M i3 10105F 16GB DDR4 512GB SSD RTX 2060 Super 8GB Zalman T4 Plus A-data 600W
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


