前言最近在看IDB。IDB是一种对象数据库存储方式。查询数据有游标方式、事务方式、索引方式。使用的API比较多,比较难记。localForage是一个JavaScript库,可以改进web应用程序的离线数据存储。核心是使用类似localStorage的API,比较简单,好记。而且存储的数据类型不仅仅是字符串,可以是值,对象,布尔值,数组,undefined除外。默认依次使用IDB、WebSQL、localStorage作为后台存储。使用localForage只需要在页面包含js文件,下载链接:https://github.com/localForag...项目API具体GITHUB地址1)setItem(key,value,successCallback):create一个key,参数是Key名称,key值,回调函数,回调函数的参数就是对应的key值。//与localStorage不同,您可以存储非字符串。localforage.setItem('myarray',[1,2,'three']).then(function(value){//这将输出`1`。控制台。log(value[0]);}).catch(function(err){//如果有任何错误,此代码将运行console.log(err);});2)getItem(key,successCallback):获取数据并使用回调函数localforage.getItem('somekey',function(err,value){//一旦从离线存储中加载了值就运行这段代码。console.log(value);});3)removeItem(key,successCallback):移去对应的键localforage.removeItem('somekey').then(function(){//一旦键被移除就运行这段代码。console.log('Keyiscleared!');}).catch(function(err){//如果有任何错误,此代码将运行console.log(err);});4)clear(successCallback):清除所有关键字。localforage.clear().then(function(){//一旦数据库被完全删除就运行这段代码。console.log('Databaseisnowempty.');}).catch(function(err){//如果有任何错误,此代码将运行console.log(err);});5)length(successCallback):获取离线存储的密钥总数。localforage.length().then(function(numberOfKeys){//输出数据库的长度。console.log(numberOfKeys);}).catch(function(err){//如果有任何错误,此代码将运行console.log(错误);});6)key(keyIndex,successCallback):根据键索引获取键值。7)keys(successCallback):获取所有关键索引。8)iterate(iteratorCallback,successCallback):为数据库中的每个键值对调用回调函数。回调函数的参数为??键值、键索引、迭代次数(以1为基数)。//相同的代码,但使用ES6Promises.localforage.iterate(function(value,key,iterationNumber){//生成的键/值对——此回调//将为//数据库中的每个项目执行。控制台.log([key,value]);}).then(function(){console.log('Iterationhascompleted');}).catch(function(err){//如果有任何错误,这段代码就会运行控制台日志(错误);});可能没有必要迭代所有键值对。这时候只要返回一个非undefined类型的值,就可以提前结束迭代,返回值会作为successCallback的参数。这个方法有问题,返回值不正确:
