JS Переменной не получается присвоить значение

Пишу расширение для хрома, в background.js ищу данные в indexedDB через курсор, но функция всегда возвращает 'not found', притом что в базе есть сравниваемое значение, как будто переменной searchResult не присваивается значение. Пробовал объявлять переменную вне функции не помогает. Также пробовал сохранять не в базе, а в обычном массиве и искать там, результат тот же.

function SearchPlayerInDB(userNick) {
    let searchResult = 'not found';
    let request =  db.transaction("players", "readwrite").objectStore('players').openCursor();
    request.onsuccess = function(event) {
        let cursor = event.target.result;
        if (cursor) {
            if (cursor.value === userNick) {
                searchResult = "found";
            }
            cursor.continue();
        }
    }
    return searchResult;
}

function SearchPlayerInArray(userNick) {
    searchResult = 'not found';
    for(i=0; i<=players.length; i++) {
        if(players[i] === userNick) {
            searchResult = 'found';
        }
    }
    return searchResult;
}

Ответы (0 шт):