Работа с indexedDB
Есть вот такой код:
данные о клиентах:
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 и как? Заранее всем спасибо! |
| Часовой пояс GMT +3, время: 04:32. |