Alan Suhe

Results 7 comments of Alan Suhe

第一个页面,初始化 ``` const storage = new Storage({ // 最大容量,默认值1000条数据循环存储 size: 100, // 存储引擎:对于RN使用AsyncStorage,对于web使用window.localStorage // 如果不指定则数据只会保存在内存中,重启后即丢失 storageBackend: AsyncStorage, // 数据过期时间,默认一整天(1000 * 3600 * 24 毫秒),设为null则永不过期 //defaultExpires: 1000 * 3600 * 24,...

@sunnylqm 这几天没来得及回应见谅

以IOS为例: 预期是设定一个上限,超过后,自动循环删除最老的,新记录仍然可以写入。 实际: 1、测试环境,设定一个上限值(如5),超过后仍可以不断存入,没有受到上限限制; 2、正式发布的,上限设置较大(几百),到了总数超过限度,就一个数据也读不出了(getAllDataForKey),而且新的也再也写不进去; 第二种情况,在测试环境没碰到,因为没测这么大量。

> 1、测试环境,设定一个上限值(如5),超过后仍可以不断存入,没有受到上限限制; —— 这符合预期啊 可能我没说清楚,预期是存入后,总数最多是5,原来最早的数据被循环删除了,现在没有删除,总数还在不断上升。 > 2、什么叫读不出和写不进去? 在这个场景,数据消失了,无法读取到,而且在执行写入后,仍然无法读取。

1、 初始化 ``` const storage = new Storage({ size: 5, storageBackend: AsyncStorage, defaultExpires: null, enableCache: true, }); // .... componentDidMount() { global.storage = storage; } ``` 然后,写入方法: ``` saveToStore(){ const...

今天我又试了一次,把整个项目升级成react native 0.56,其他代码均不变。 这次在模拟器上,不管size设置多大,只要总数超过size的定义,用storage.getAllDataForKey方法就读取不到数据。报错信息: ``` Not Found! Params: {"key":"hg-result","id":1531294322000,"autoSync":true,"syncInBackground":true} ``` 其中id是最后一条写入的数据。 之后storage.save方法执行写入其他数据后,再读取始终报同样错误,id也是一样,应该没有写入成功; 这时我用storage.clearMapForKey方法清除key下的数据,无效,再写入读取,也报同样错(id一样); 最后用storage.clearMap方法清除所有数据,再写入,可以读取正常了,直到size超过继续上述错误。

The same problem,after I updated react-native to 0.56.