Programing

HTML5 localStorage는 비동기식입니까?

crosscheck 2020. 8. 12. 07:42
반응형

HTML5 localStorage는 비동기식입니까?


은 IS setItem(key,value)기능 비동기?

localStorage.setItem("key",someText);

아니요, 모든 localStorage호출은 동기식입니다.


사실은. 웹 저장소는 더 이상 HTML5 핵심 표준의 일부가 아니며 분리되었습니다.

관련 (초안) 사양은 여기 에서 찾을 수 있으며 눈에 띄는 점은 어디에서나 동기식 또는 비동기식을 언급하지 않는다는 것입니다.

그러나 텍스트를 분석하면 동기식이어야 함을 알 수 있습니다 (내 굵은 글씨).

setItem (키 값)에있어서 소정 키의 키 / 값 쌍 이미 오브젝트와 연관된 목록에 있는지 먼저 확인해야한다.

그렇지 않은 경우 지정된 키와 값을 value로 설정하여 새 키 / 값 쌍 을 목록에 추가해야합니다 .

주어진 키가 목록에 존재하고 그 값이 value와 같지 않다면, 그 값을 value로 업데이트 해야합니다. 이전 값이 value와 같으면 메서드는 아무 작업도 수행하지 않아야합니다.

표준에서 must, shall같은 단어 may매우 구체적인 의미를 가지고 있습니다. 방법이 무엇을해야하는지에 대해 이야기하고 있다는 사실 은 방법 자체가 그것을 수행해야한다는 것을 의미하며, 나중에 그것을 미루는 것이 아닙니다.

이것은 또한 상식에 따릅니다. (가) 경우 setItem비동기했다, 이전 값을 받고, 그것을 바로 다음 특정 값에 대한 항목을 설정 검색 할 수있을 것이다.


입니다 비동기 행동의 가능성을 암시 저장 인터페이스 섹션 하단의주의 사항 :

이 사양에서는 데이터가 물리적으로 디스크에 기록 될 때까지 위의 방법이 대기 할 필요가 없습니다. 동일한 기본 키 / 값 쌍 목록에 액세스하는 다른 스크립트의 일관성 만 필요합니다.

그러나 이는 장기 스토리지에 기록되는 내용에 국한됩니다. 마지막 문장은 동일한 스토리지 객체에 액세스하는 스크립트가 동기식으로 사물을 보도록 요구합니다.

참고 URL : https://stackoverflow.com/questions/20231163/is-html5-localstorage-asynchronous

반응형