小程序中获取缓存key,if判断key的值是否为空时,会判断出错,只能使用内容长度来判断。
demo代码如下:
var aa=wx.getStorageSync('aa'); //同步获取缓存
var bb=wx.getStorageSync('bb')
if(aa==null||bb==null){ //必须改成aa.length<=0||bb.length<=0才可以成功执行
console.log("获取不成功:")
}
else{
console.log("获取成功")
}
已经使用clear,保证缓存不存在该数据,但仍会判断出错,只能使用length,但假如个别情况下,如我们允许用户在某个字段存入数据为空,只使用存入是否成功来判断,不关注存入内容是否为空时,使用length就不是很科学了。
感谢楼上,是我逻辑写错。
没有的东西,取出来是空字符串,你判断 == null,肯定是错的。可以直接 if(!aa||!bb)判断。你存的时候,可以存个Object进去呀,这样取出来的如果是Object,就说明是用户存入成功了的
这段代码我用了五来月了,没出现你的问题呢。
这样写不就行了吗?好像如果缓存里面没有的话,返回的是空,不等于null