如果localStorage写入被取消会发生什么?

5

假设我这样调用本地存储:

window.localStorage.setItem("key", bigJsonObject);

紧接着,用户关闭了他们的网络浏览器。这会导致什么结果?

window.localStorage.getItem("key") 
< p > bigJsonObject 会部分写入吗?还是整个写入会失败?有没有办法保证不会出现部分写入?


@LightnessRacesinOrbit - 没问题 - adeneo
1个回答

5
请参考“Web Storage”规范的§4.1:http://www.w3.org/TR/webstorage/#the-storage-interface

对于失败而言,setItem()removeItem()方法必须是原子的。 失败时,该方法不执行任何操作。也就是说,数据存储区域的更改必须是成功的,或者数据存储区域根本不应更改。

然而,这方面曾经存在(历史上)浏览器中的错误,例如:在Chrome 21之前的一段时间内,直到Chrome 29之前(参见此处)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接