store.js icon indicating copy to clipboard operation
store.js copied to clipboard

请问一下代码中的 ```even_storage``` 这个空函数的作用是?

Open cbbfcd opened this issue 6 years ago • 8 comments

cbbfcd avatar Dec 18 '18 07:12 cbbfcd

@cbbfcd 我昨天重构的时候删除了一个函数,这个是多余的

store.onStorage = () => {

}

现在没有想到好的方法实现

jaywcjlove avatar Dec 18 '18 07:12 jaywcjlove

dealIncognito方法只在初始化的时候执行了一次,应该是每次setItem的时候都需要去判断是不是溢出吧?

cbbfcd avatar Dec 18 '18 08:12 cbbfcd

@cbbfcd 你的意思是在 dealIncognito 里面还要判断 localStorage 是不是存满了?

jaywcjlove avatar Dec 18 '18 08:12 jaywcjlove

我觉得是调用 setItem的时候,进行 try...catch...,如果出现超限的异常,就进行hack处理,用一个对象来继续完成存储,当然也可以增加一个配置,用来表示超限时可以删除某些不重要的数据进而释放空间。

cbbfcd avatar Dec 18 '18 08:12 cbbfcd

@cbbfcd 超限制提示倒是可以搞一下

jaywcjlove avatar Dec 18 '18 09:12 jaywcjlove

因为只执行了一次dealIncognito,就可能是当时没有超限制,但是在不断的 setItem 过程中,突然超限制了,这个就没覆盖到,所以我觉得应该是在 setItem函数执行的时候去进行超限的处理,处理的方式可以简单点,直接抛给用户异常也行,用户自己去判断某些资源可以删除的自己就删了来释放空间。

cbbfcd avatar Dec 18 '18 09:12 cbbfcd

我想想,然后提一个PR吧。

cbbfcd avatar Dec 18 '18 09:12 cbbfcd

@cbbfcd ok! thx!

jaywcjlove avatar Dec 18 '18 09:12 jaywcjlove