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

现在公司的项目出现一个需求,就是在A情况下,要跳转到外部链接,在跳转之前,将当前路由存到localstorage中,但是实际测试发现,没有存数据成功,给跳转加延时之后,就可以了。但是这个延时,是写死的,可能因为电脑或者网速原因,而无法起作用,所以想问下,有没有关于localstorage存数据耗时的相关API,或者 判断存取完成 事件。


贴出相关代码:


locals.set('routerWhenFake',currentRoute);

$timeout(function(){

    window.location.href="http://www.baidu.com";

},100);

了解的大神帮个忙,谢谢啦!


噜噜哒
浏览 1449回答 7
7回答

慕标5832272

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

哔哔one

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

四季花海

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

富国沪深

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

梵蒂冈之花

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

森林海

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

千巷猫影

首先所有localstage都是同步的, 可以看这里var a = function(){localStorage.setItem("a", 1); console.log(localStorage.getItem("a"))}var i = 0;while(i < 1000){&nbsp; &nbsp; a();&nbsp; &nbsp; i += 1;}setItem之后直接进行转跳。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript