教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

indexedDB.open()方法打開數(shù)據(jù)庫

更新時間:2021年09月30日16時55分 來源:傳智教育 瀏覽次數(shù):

好口碑IT培訓

IndexedDB可以通過網(wǎng)頁腳本語言來操作,這是由于瀏覽器中提供了IndexedDB對象。接下來介紹通過IndexedDB API創(chuàng)建數(shù)據(jù)庫的步驟以及打開數(shù)據(jù)庫。

1.打開數(shù)據(jù)庫
讀者可以使用indexedDB.open()方法打開數(shù)據(jù)庫,示例代碼如下:

var openReguest indexedDB.open('demo',1) ;

上述代碼為open(方法傳入了兩個參數(shù),其中第1個參數(shù)demo表示數(shù)據(jù)庫名稱,該參數(shù)是必需的,不能省略:第2個參數(shù)1表示的是數(shù)據(jù)庫版本號,該參數(shù)可以省略(如果省略,那么默認打開的數(shù)據(jù)庫版本號是1,反之該參數(shù)設置的數(shù)據(jù)庫版本號必須是一個大于0的正整數(shù))。這里需要說明的是,如果要打開的數(shù)據(jù)庫不存在,那么調(diào)用indexedDB.open()方法時,會創(chuàng)建一個新的數(shù)據(jù)庫。
調(diào)用indexedDB.open()方法后,有可能觸發(fā)4種事件,如表11-18所示。
1632991770472_IndexedDB的基本使用.png

如果是第一次打開數(shù)據(jù)庫,會先觸發(fā)upgradeneeded事件,再觸發(fā)onsuccess事件。根據(jù)不同的需要,可以對不同的事件設立回調(diào)函數(shù),示例代碼如下。

var openRequest=indexedDB.open('demo,1);
var db;
openRequest.onupgradeneeded=function(e){
console.log('Upgrading...');

openRequest.onsuccess=function(e){
console.log('Success!');

db=e.target.result;
}

openRequest.onerror=function(e){

console.log('Error') ;

console.dir(e);
}

在上述代碼中,open方法返回是一個對象,(IDBOtenDBequest)事件的回掉函數(shù)定義在該對象上面?;卣{(diào)函數(shù)接受一個事件對象,event作為參數(shù),event的target,result就指向打開的IndexeddDB數(shù)據(jù)庫。



猜你喜歡:

為什么要使用IndexedDB?IndexedDB有哪些特點?

怎樣實現(xiàn)redis緩存與數(shù)據(jù)庫同步?

Java用哪個數(shù)據(jù)庫好?

SpringBoot整合NoSQL 數(shù)據(jù)庫(Redis)實現(xiàn)緩存

傳智教育java高手班培訓

0 分享到:
和我們在線交談!