Easy Async Storage
用更简单的方式操作浏览器存储
1.简介
最初目的
在项目开发中,有少数情况会有在存入Storage
的同时获取该storage
的逻辑,如果存入数据的函数为异步函数(比如请求了一个用户信息的接口,特别是在登录后),这样的逻辑就会导致原生的getItem
函数获取不到,easy-async-storage
库将getItem
变为异步函数,返回一个Promise
对象,让你可以像调用一个网络请求一样去调用storage
。目前已有功能
- 使用面向对象思想对存储方式进行二次封装,让 Storage 操作能够更加简便快捷,不需要考虑某条数据存在于
localStorage
还是sessionStorage
。
TODO
- 加密存取
2.Install
npm install easy-async-storage
3.Use
eStorage()
的暴露方式类似Vue Composition API
const { keep, set, get, asyncGet, check } = eStorage();
或
const est = eStorage();
3.1 Get Storage
获取存储数据,调用对象的get
方法,返回类型为Promise
est.get(key:string):Promise<any>;
est.get(key:string).then(res=>{
// res即为获取到的value
}).catch(err=>{
// 未获取到的操作
})
3.2 Async Get Storage
est.asyncGet(key:string,timeout?:number)
调用异步获取方法,参数如下
key:string
Storage 的 key,必传timeout:number
超时时间,若在超时时间到达后仍旧没有获取到值,则在reject
中返回undefined
,非必需,默认 1000(ms)
3.3 Set Storage
与原生存储方式相似,但是value
参数强制使用string
,存在类型检查,若不符合则抛出异常。set()
返回一个EStorage
对象,支持链式调用est.set(key: string, value: string);
3.4 Set Local Storage
easy-async-storage
在使用set()
方法时,底层默认操作对象为sessionStorage
,如有对localStorage
进行存储的需求,则可以使用keep()
方法keep()
返回一个EStorage
对象,支持链式调用est.keep().set(key: string, value: string);
注意:您在进行
get
、asyncGet
、check
操作时,并不一定需要调用keep()
3.5 Check
查找当前存储中是否存在某一字段使用:
est.check(key: string).then(res=>{
// 存储存在的操作
}).catch(()=>{
// 存储不存在的操作
});
返回的数据类型:
Promise<CheckResult>
interface CheckResult {
status: boolean;
target?: EStorage;
}
status:boolean
存在true
不存在false
target?:EStorage
存在返回一个EStorage
对象,支持链式调用;不存在则没有该字段。