Работа с 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, время: 22:35. |