2015-01-06 3 views
5

Допустим, я делаю вызов локального хранения как так:Что произойдет, если запись в localStorage отменена?

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

И сразу же после этого, пользователь закрывает свой веб-браузер. Что будет результатом

window.localStorage.getItem("key") 

Будет ли bigJsonObject быть частично написана? Или будет потерять всю запись? Есть ли у них какой-либо способ гарантировать, что не будет частичной записи?

+0

@LightnessRacesinOrbit - без проблем – adeneo

ответ

5

Обратитесь к §4.1 of the "web storage" specification:

В setItem() и removeItem() методы должны быть атомарными по отношению к неудаче. В случае сбоя метод ничего не делает. То есть, изменения в области хранения данных должны быть либо успешными, либо область хранения данных не должна вообще изменяться.

Однако в этом отношении были ошибки браузера, e.g. some time before Chrome 21 until some time before Chrome 29.

Смежные вопросы