Люди добрые, помогите. Третий день ломаю голову.
На клиенте есть БД IndexedDb.
При попытке чтения построчно с помощью cursor, console.log выдает объекты, которые хранятся в соответствующих полях БД. Но эти объекты не получается налету записать в массив. На выходе получаю весь набор объектов в массиве, но массив их не видит (array.length = 0);
testMethod() {
      let temp = [];
      const db = indexedDB.open("EPG");
      db.onsuccess = (event) => {
        let target = event.target.result;
        let tx = target.transaction(["channel"]).objectStore("channel").openCursor();
        tx.onsuccess = (event) => {
          let cursor = event.target.result;
          if(cursor){
              temp.push(cursor.value);            
            cursor.continue();
          }
        }
    } 
      return temp;
  }
В массиве temp на выходе получаю весь нужный список объектов, но массив как будто пустой, ни foreach ни перебор по индексам не работают.
Заранее благодарен за помощь, и просьба сильно не чмырить)