I am using IndexedDB to store data on client side to preserve data when we switch tabs in application. I am unable to get return value of onsuccess event when I am working with .get() method, please advice.
Here is the code
sample.js
function getFromIndexedDbSession(key)
{
let db;
const openRequest = indexedDB.open('tool', 1);
openRequest.onupgradeneeded = function (e) {
db = e.target.result;
const storeOS = db.createObjectStore('tool');
};
openRequest.onsuccess = function (e) {
db = e.target.result;
getRequest = db.transaction('tool').objectStore('tool').get(key);
getRequest.onsuccess = (e)=> {
const student = e.target.result;
console.log(student)
return student; //**This is not working, How can I return student value??**
}
getRequest.onerror = (err)=> {
console.error(`Error to get student information: ${err}`)
}
};
openRequest.onerror = function (e) {
console.log('onerror! doesnt work');
};
}
data = getFromIndexedDbSession("lan"); //here result of data is **undefined**, i want return value here
How can i get return value of onsuccess event into data variable?
Thanks,