缓存读取问题
来源:8-13 showToast接口的应用
慎走刀口
2022-03-10
posts-detail.js页面,onCollect函数,在用户点击“收藏按钮”后,需要在缓存中读取现有的缓存posts_collected。
- 按照老师的视频一步步操作是没有问题的,因为之前已经在缓存中写入了数据;
- 但是如果消除掉所有的缓存,直接点击,就会出现错误: TypeError: Cannot create property ‘0’ on string ‘’
- 我逐行分析了脚本,个人觉得是在读取空缓存时,是一个空字符串,导致的TypeError;
- 于是我想着把类型改为Object,但试了几种方法都没成功:
- JSON.parse(str) 提示:Unexpected end of JSON input,于是又想办法格式化字符串,因为本身就是个空字符串,我也很奇怪:
- var obj = eval(’(’+str+’)’); 被禁了,不能使用
- .replace(/\ufeff/g, “”) 的方式也不行
不知道是不是我的思路错了,加之卡太久了,希望老师能提点一下,不知道是不是有一步我错过了。
目前的我程序逻辑里,posts_collected是需要先读取,再写入新值,并没有初始化的步骤(也不能初始化,缓存会清空)。
写回答
1回答
-
不用改变类型,加一个判断,判断如果是空,就可以了。
032022-03-10
相似问题