const db = new IndexDB('offlLineDB', getIndexedDBVersionOfNum()) // 數(shù)據(jù)庫名? 數(shù)據(jù)庫版本
db.getIndexDataByCursor('basic_DB_assembly', keyWord, code)
--------------------------------------------------------------------------------------------
getIndexDataByCursor(storeName, storeIndex, storeKey) {
? ? const si = storeIndex
? ? const sk = storeKey
? ? return new Promise((resolve, reject) => {
? ? ? const request = indexedDB.open(this.dbName, this.version)
? ? ? request.onerror = function() {
? ? ? ? reject('IndexedDB數(shù)據(jù)庫打開錯(cuò)誤,請(qǐng)聯(lián)系管理員。')
? ? ? }
? ? ? request.onsuccess = function(event) {
? ? ? ? const IDBKeyRange = window.IDBKeyRange || window.webkitIDBKeyRange
? ? ? ? const onlyKeyRange = IDBKeyRange.only(sk)
? ? ? ? const result = event.target.result
? ? ? ? const objectStore = result.transaction(storeName).objectStore(storeName).index(si).openCursor(
? ? ? ? ? onlyKeyRange)
? ? ? ? const dataList = []
? ? ? ? objectStore.onsuccess = function(event) {
? ? ? ? ? const cursor = event.target.result
? ? ? ? ? if (cursor) {
? ? ? ? ? ? dataList.push(cursor.value)
? ? ? ? ? ? cursor.continue()
? ? ? ? ? } else {
? ? ? ? ? ? resolve(dataList)
? ? ? ? ? }
? ? ? ? }
? ? ? }
? ? })
? }