使用sessionStorage存取值的问题——(日常bug)

今天在做项目的时候,后端的接口返回数据是两个状态:

1、如果用户已经绑定过,则返回:{ login_token: “XXXXX”, user_id: “XXXX” }
2、如果用户没有绑定过,则返回: { micro_app_user_id: “XXX” }

我需要将后端返回的值存起来,然后在后面的页面中做判断,不同的返回进行不同的操作,而我为了省事,在后端返回数据的时候,不管返回的东西是什么,直接将三个值存了起来:

if (res.status === 'success' && res.data) {
	sessionStorage.setItem('login_token', res.data.login_token)
	sessionStorage.setItem('user_id', res.data.user_id)
	sessionStorage.setItem('micro_app_user_id', res.data.micro_app_user_id)
}

在后面做判断的时候,发现判断一直有问题,后来发现,当后端只返回micro_app_user_id的时候,我从缓存中拿出来的login_token是个字符串“undefined”,并不是undefined属性,所以它不是false,就一直进入此判断中,导致程序错误

最后还是老老实实的在缓存的时候加了判断,解决问题

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值