2014-01-31 5 views
0

메서드가 sessionStorage에서 무엇을 반환하는지 파악하려고합니다. 지금까지 내가 얻을 수 있기 때문에, 다음 코드는 undefined는 반환sessionStorage setItem이 true 또는 false를 반환합니다.

var set = sessionStorage.setItem('foo', 'bar'); 
console.log(set); 

나는 항목이 성공적으로 설정되었는지 알 필요하거나 실패한 경우. 반환을 모른 채 어떻게 이것을 할 수 있습니까?

+0

가능한 중복 (http://stackoverflow.com/questions/3263161/cannot-set-boolean-values-in-localstorage) –

답변

6

sessionStorage specification을 살펴보십시오.

이 줄 :

setter creator void setItem(DOMString key, DOMString value); 

아무것도 반환하지 않습니다 우리 setItem를 알려줍니다.

if (sessionStorage.getItem('myValue') == null){ 
    // myValue was not set 
}else{ 
    // myValue was set 
} 
+0

나는 이것이 지금 할 것이라고 생각합니다 ... 뭔가 잘못되면 NULL이 반환된다고 가정합니다. – darksoulsong

1

Here는 모질라 개발자 네트워크에서 sessionStorage에 가이드 : 항목이 다음과 같이 설정된 경우


확인해 볼 수 있습니다 (void이 반환 값이다). sessionStorage.setItem(name, value)은 아무 것도 반환하지 않는 것으로 보입니다.

sessionStorage.setItem('make', 'Ford'); 

/* Returns null if it cannot find the item in sessionStorage. */ 
if(sessionStorage.getItem('make')) { 
    /* Session storage set successfully. */ 
} else { 
    /* Session storage did not set successfully. */ 
} 
0

사용 시도 캐치 표현 : 수동으로 확인하고 싶다면

그러나, 당신은 이런 식으로 뭔가를 시도 할 수

try { sessionStorage.setItem('foo', 'bar'); } 
catch(oops) { 
    // maybe no more space, try to free 
    localStorage.removeItem('foo'); 
    sessionStorage.setItem('foo', 'bar'); 
} 
[로컬 저장에 부울 값을 설정할 수 없습니다?]의
관련 문제