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,
 
    