localStorage.getItem('test')已存在,从A应用调到B应用时的时机(域名都相同):
想知道异步函数中localStorage.getItem('test')的值在mounted生命周期为什么取不到,代码如下:
mounted() {
this.init()
},
methods: {
async init() {
console.log(localStorage.getItem('test')) // 此时能取到值
const data = await request(xxx) // 发起某个请求的函数
console.log(localStorage.getItem('test')) // 此时反而取不到值
}
}
通过的尝试:定时器0.5s后调用init方法能获取test数据,感觉是队列的问题?
想知道:
1、localStorage第一次进入网页的读取方式
2、为什么获取不到test,具体的队列是怎么执行的
不会有问题,看上去是因为
request(xxx)
里面执行了一些业务修改了localStorage
,或者在等待期间其他的业务函数修改了localStorage
。执行顺序就是你书写的顺序执行。先输出一次
getItem('test')
,然后等待request
请求返回结果之后再输出一次getItem('test')