摘要:獲取數據并使用回調函數移除對應的鍵清除所有鍵。對數據庫中的每一個鍵值對調用回調函數,回調函數的參數分別是鍵值鍵索引迭代次數基于。
前言
最近在看IDB,IDB是一種對象數據庫存儲方式,查詢數據有游標法、事務法、索引法,使用的API很多,比較難記。
localForage是一個改善web-app離線數據存儲的JavaScript庫,核心在于使用一個和localStorage類似的API,比較簡單好記。而且存儲的數據類型不只是字符串,可以是數值、對象、布爾值、數組,但是undefined除外。默認情況下,依次優先采用使用IDB、WebSQL、localStorage進行后臺存儲。
使用localForage只需要在頁面包含js文檔即可,下載鏈接:
https://github.com/localForag...
該項目的具體GITHUB地址
1)setItem(key, value, successCallback):創建一個鍵,參數是鍵名、鍵值、回調函數,回調函數的參數是對應的鍵值。
// Unlike localStorage, you can store non-strings. localforage.setItem("my array", [1, 2, "three"]).then(function(value) { // This will output `1`. console.log(value[0]); }).catch(function(err) { // This code runs if there were any errors console.log(err); });
2)getItem(key, successCallback):獲取數據并使用回調函數
localforage.getItem("somekey", function(err, value) { // Run this code once the value has been // loaded from the offline store. console.log(value); });
3)removeItem(key, successCallback):移除對應的鍵
localforage.removeItem("somekey").then(function() { // Run this code once the key has been removed. console.log("Key is cleared!"); }).catch(function(err) { // This code runs if there were any errors console.log(err); });
4)clear(successCallback):清除所有鍵。
localforage.clear().then(function() { // Run this code once the database has been entirely deleted. console.log("Database is now empty."); }).catch(function(err) { // This code runs if there were any errors console.log(err); });
5)length(successCallback):獲得離線存儲的總的鍵數。
localforage.length().then(function(numberOfKeys) { // Outputs the length of the database. console.log(numberOfKeys); }).catch(function(err) { // This code runs if there were any errors console.log(err); });
6)key(keyIndex, successCallback):根據鍵索引得到鍵值。
7)keys(successCallback):得到所有的鍵索引。
8)iterate(iteratorCallback, successCallback):對數據庫中的每一個鍵值對調用回調函數,回調函數的參數分別是鍵值、鍵索引、迭代次數(基于1)。
// The same code, but using ES6 Promises. localforage.iterate(function(value, key, iterationNumber) { // Resulting key/value pair -- this callback // will be executed for every item in the // database. console.log([key, value]); }).then(function() { console.log("Iteration has completed"); }).catch(function(err) { // This code runs if there were any errors console.log(err); });
或許并不一定要迭代所有的鍵值對,此時只要返回一個非undefined類型值,就可以提前結束迭代,這個返回值會作為successCallback的參數。這個方法有點問題,返回的值不太對:
Listing 2.1
前面提到,localForage在默認情況下會優先采用使用IDB、WebSQL、localStorage進行后臺存儲,但是可以通過setDriver()進行后臺設置,如果設置的機制在當前瀏覽器并不支持,則還是按照默認選擇。
setDriver(driverName)/setDriver([driverName, nextDriverName]):設置后臺支持機制,參數是localforage.INDEXEDDB、localforage.WEBSQL、localforage.LOCALSTORAGE。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/50179.html
摘要:獲取數據并使用回調函數移除對應的鍵清除所有鍵。對數據庫中的每一個鍵值對調用回調函數,回調函數的參數分別是鍵值鍵索引迭代次數基于。 前言 最近在看IDB,IDB是一種對象數據庫存儲方式,查詢數據有游標法、事務法、索引法,使用的API很多,比較難記。 localForage是一個改善web-app離線數據存儲的JavaScript庫,核心在于使用一個和localStorage類似的API,...
摘要:離線存儲數據的建議對尋址資源,使用這是的一部分。在到達儲量限制之前,兩種存儲機制都會一直進行存儲。則沒有對存儲量做出限制,只是在之后會彈出提醒。是異步的基于回調函數,但它同樣不支持。也是異步的基于回調函數,在和中可以工作雖然使用的是同步。 拖拖拉拉好久,終于把個人博客整出來了。鳴謝 @pinggod。 厚著臉安利一下,地址是 http://www.wemlion.com/。歡迎訪問,歡...
摘要:離線存儲數據的建議對尋址資源,使用這是的一部分。在到達儲量限制之前,兩種存儲機制都會一直進行存儲。則沒有對存儲量做出限制,只是在之后會彈出提醒。是異步的基于回調函數,但它同樣不支持。也是異步的基于回調函數,在和中可以工作雖然使用的是同步。 拖拖拉拉好久,終于把個人博客整出來了。鳴謝 @pinggod。 厚著臉安利一下,地址是 http://www.wemlion.com/。歡迎訪問,歡...
摘要:簡介離線存儲,提供強大的封裝專業封裝給封裝類似類似接口如果你熟悉那一定會用使用類似的接口操作基于的瀏覽器端數據庫基于的瀏覽器端數據庫小型數據庫,瀏覽器端基于風格的接口,讓它非常可愛 查看原文 有些安全性不太重要的數據,我不想花大力氣搞一臺服務器,再安裝mysql或者 monogdb,再寫點rest接口。這也太麻煩了,瀏覽器里本來就有很好用的數據庫。你為什么不嘗試一下呢? 1. 客戶端存...
摘要:簡介離線存儲,提供強大的封裝專業封裝給封裝類似類似接口如果你熟悉那一定會用使用類似的接口操作基于的瀏覽器端數據庫基于的瀏覽器端數據庫小型數據庫,瀏覽器端基于風格的接口,讓它非常可愛 查看原文 有些安全性不太重要的數據,我不想花大力氣搞一臺服務器,再安裝mysql或者 monogdb,再寫點rest接口。這也太麻煩了,瀏覽器里本來就有很好用的數據庫。你為什么不嘗試一下呢? 1. 客戶端存...
閱讀 2574·2021-09-30 09:48
閱讀 2564·2019-08-30 14:10
閱讀 2708·2019-08-29 11:22
閱讀 1837·2019-08-26 13:51
閱讀 2276·2019-08-26 12:02
閱讀 2415·2019-08-23 16:06
閱讀 3548·2019-08-23 14:06
閱讀 1093·2019-08-23 13:56