localStorage.setItem(“a“)运行后,接着运行getItem(“a“)获取不到值?

在JavaScript开发中,localStorage通常用于存储用户数据。然而,当尝试先读取再设置localStorage值时,可能会遇到获取不到值的问题。博客指出,如果在设置值之前读取,由于异步执行的特性,可能导致获取为空。解决方案是调整代码顺序或使用立即执行函数确保正确读取。此问题在项目中的axiosAPI封装中尤为常见,通过调整代码结构可以避免此类问题。
摘要由CSDN通过智能技术生成

localStorage.setItem(“a”,“12345”)运行后,接着运行getItem(“a”)获取不到值?

一般情况下,如下:

localStorage.setItem("a","12345");
localStorage.getItem("a");

是能得到a的值的。

在开发中,localStorage.getItem("a");获取不到,很多是因为运行逻辑是getItem在前面执行了;

如:

let obj={
	a:localStorage.getItem("a");
};
localStorage.setItem("a","12345");
console.log(obj.a)

这样是取不到值的,类似的情况可能有把obj定义到别的文件引入进来,这时只需要将obj改为:

let obj={
	a:()=>localStorage.getItem("a");
};

在下面的项目中有体现这个问题,封装的axios api,一开始url是固定的,一直获取不到localStorage.getItem(" ");
项目链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值