为了账号安全,请及时绑定邮箱和手机立即绑定

localstorage 存数据,耗时问题以及怎样判断存数据完成

localstorage 存数据,耗时问题以及怎样判断存数据完成

噜噜哒 2019-03-13 14:15:41
现在公司的项目出现一个需求,就是在A情况下,要跳转到外部链接,在跳转之前,将当前路由存到localstorage中,但是实际测试发现,没有存数据成功,给跳转加延时之后,就可以了。但是这个延时,是写死的,可能因为电脑或者网速原因,而无法起作用,所以想问下,有没有关于localstorage存数据耗时的相关API,或者 判断存取完成 事件。贴出相关代码:locals.set('routerWhenFake',currentRoute);$timeout(function(){    window.location.href="http://www.baidu.com";},100);了解的大神帮个忙,谢谢啦!
查看完整描述

7 回答

?
慕标5832272

TA贡献1966条经验 获得超4个赞

This specification does not require that the above methods wait until the data has been physically written to disk. Only consistency in what different scripts accessing the same underlying list of key/value pairs see is required.

并不等待物理写入磁盘

可能因为电脑或者网速原因,而无法起作用

这倒不会,只跟磁盘写入有关。没有其他API,或者你换别的思路。

参考链接webstorage


查看完整回答
反对 回复 2019-04-03
?
哔哔one

TA贡献1854条经验 获得超8个赞

这里只是做存值啊,你还没获取到


查看完整回答
反对 回复 2019-04-03
?
四季花海

TA贡献1811条经验 获得超5个赞

你这个locals是怎么实现的啊?对localStorage操作是同步的,不应该会出现这种问题


查看完整回答
反对 回复 2019-04-03
?
富国沪深

TA贡献1790条经验 获得超9个赞

外部链接如果跨域的话localstorge是获取不到的


查看完整回答
反对 回复 2019-04-03
?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

你这个理论上没什么问题啊,你可以在set以后,下面紧接着打印存的值,如果有的话就不是这个问题。


查看完整回答
反对 回复 2019-04-03
?
森林海

TA贡献2011条经验 获得超2个赞

自己写个监听,如果查到有值再跳转


查看完整回答
反对 回复 2019-04-03
?
千巷猫影

TA贡献1829条经验 获得超7个赞

首先所有localstage都是同步的, 可以看这里

var a = function(){localStorage.setItem("a", 1); console.log(localStorage.getItem("a"))}

var i = 0;

while(i < 1000){

    a();

    i += 1;

}

setItem之后直接进行转跳。

查看完整回答
反对 回复 2019-04-03
  • 7 回答
  • 0 关注
  • 1444 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信