Показать сообщение отдельно
  #1 (permalink)  
Старый 25.09.2017, 14:34
Новичок на форуме
Отправить личное сообщение для Dmi3z Посмотреть профиль Найти все сообщения от Dmi3z
 
Регистрация: 25.09.2017
Сообщений: 1

Чтение данных из IndexedDb
Люди добрые, помогите. Третий день ломаю голову.
На клиенте есть БД 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 ни перебор по индексам не работают.
Заранее благодарен за помощь, и просьба сильно не чмырить)
Ответить с цитированием