Как извлечь данные значения IndexedDB в переменную? - PullRequest
0 голосов
/ 04 февраля 2020

У меня есть некоторые данные в таблице IndexedDB, которая содержит эти данные:

enter image description here

Затем у меня есть эта функция для получения данных из IndexedDB ( Мне нужен массив с версиями)

function enter_base_and_get_versions() {
  var returnData = [];
  var defer = $.Deferred();
  var name = document.getElementById('Search_Bar_Templates').value;
  var transaction = db.transaction(['Formulars'], 'readwrite');
  var formulars = transaction.objectStore('Formulars');
  var request = formulars.openCursor();

  request.onsuccess = function() {
    var cursor = this.result;
    if (cursor) {
      if (cursor.value.name == name) {
        returnData = cursor.value.versions;
        defer.resolve(returnData);
        return defer.promise();
      }
      cursor.continue();
    } else {
      alert("Template doesnt exists");
    }
  };
}

function get_versions() {
  var myFormularsPromise = enter_base_and_get_versions();
  var myVersions = []

  $.when(myFormularsPromise).done(function(data) {
    myVersions = data;
  }).fail(function(data) {
    console.log("fail")
  });
}

Когда я пытаюсь напечатать myVersions в функции get_versions (), она печатает undefiend. Я не знаю, как сохранить этот массив в javascript переменную.

...