同一份storage数据,分别使用以下方法读取:
1:读取字符串,使用JSON.parse转为Object类型
2:直接使用wx.getStorageSync读取Object类型
两个方法读取结果不一致
以下图片为同一个同时打印1,2方法的结果
重现步骤:
1:进入游戏,使用wx.setStorageSync存储一个复杂对象,然后立即杀掉游戏进程
3:重新进入游戏分别用1,2方法读取数据
补充一下问题:
测试环境是安卓的真机(小米6,iphone6s 上都遇到了)
PC端无法复现这个问题。
我们是要存储一个Json object,里面包含一个叫coin的字段和一个叫weaponData的Array。
储存的API调用完成以后,立刻(约5秒内)退出游戏,然后重新从storage加载这个数据
发现:coin数据正确,但是weaponArray数据和存储的不一致(看起来像是存储失败)
于是我们换了一个测试思路,我们不直接存储object, 而是在存储前先stringfy为一个字符串,然后直接存储字符串。
照样立刻退出游戏,然后重新从storage加载这个字符串
发现:一切数据正确。
截图中想表达的意思就是,字符串内容和json object的内容不一致。