Есть вот такой код:
данные о клиентах:
const customerData = [
{ ssn: "444-44-4444", name: "Bill", age: 35, email: "bill@company.com" },
{ ssn: "555-55-5555", name: "Donna", age: 32, email: "donna@home.org" }
];
делаю запрос на создание базы данных:
var indexedDB = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
var dbName = "myTestDB", db;
var IDBRequest = indexedDB.open(dbName, 1);
далее:
IDBRequest.onsuccess = function(event) {
console.log('База данных создана успешно!');
db = event.target.result;
};
хочу добавит данные в IDB:
function addData() {
var transaction = db.transaction(["customers"], "readwrite");
transaction.oncomplete = function(event) {
console.log("All done!");
};
transaction.onerror = function(event) {
console.log("Doesn't work!");
};
var objectStore = transaction.objectStore("customers");
for (var i in customerData) {
var request = objectStore.add(customerData[i]);
request.onsuccess = function(event) {
};
}
}
Так как db создана в другой функции, addData ее не видет.
Если без IDBRequest.onsuccess просто в теле скрипта написать db = IDBRequest.result; -выдаст ошибку "The request has not finished".
Подскажите плиз как быть в данной ситуации, чтоб заработало добавление данных в IBD.
И еще подскажите пожалуйста, как все это потом запустить, т.е. что делать с event и как?
Заранее всем спасибо!