如果取消对localStorage的写入会怎么样?

时间:2015-01-06 19:48:32

标签: javascript html5 cordova

假设我这样打电话给本地存储:

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

之后,用户立即关闭了他们的网络浏览器。

的结果是什么?
window.localStorage.getItem("key") 

bigJsonObject会被部分写入吗?或者整个写入会失败吗?他们有什么方法可以保证不会有部分写入?

1 个答案:

答案 0 :(得分:5)

请参阅§4.1 of the "web storage" specification

  

setItem()removeItem()方法在失败方面必须是原子的。如果失败,该方法不执行任何操作。也就是说,对数据存储区域的更改必须成功,否则根本不能更改数据存储区域。

然而,(历史上)在这方面存在浏览器错误,e.g. some time before Chrome 21 until some time before Chrome 29