2012-12-20 3 views
1

javascript의 변수에 사용자의 전자 메일 주소를 저장하는 데 문제가 있습니다. 내가하고 싶은 일은 API를 호출하고 이메일 주소를 가져 와서 "이메일"변수에 저장하여 화면의 다른 기능에 사용하는 것입니다.변수에 API 호출 전자 메일 저장

내 코드는 다음과 같습니다

function emailCheck(){ 
    var email; 
    FB.api('/me',email = function(response){ 
     return response.email; 
     }) 
    } 

    alert(email); 

내가 적절한 권한이 있는지 확인하십시오 않았다. 나는 내 응답 섹션에 alert(response.email)을 넣을 것이고, 적절한 이메일을 알려줄 것이다. 문제는 내가 전자 메일 변수를 외부에 액세스 할 수 없게하는 것입니다. 기능은입니다. 모든 API 메소드는

function emailCheck(continuation){ 
    FB.api('/me', function(response){ 
    continuation(response && response.email); 
    }); 
} 

emailCheck(function(email) { 
    alert(email); 
} 

다른 방법이 추상적 인 조각 (정말 같은 것) 약속, 선물 또는 deferreds를 사용하는 비동기로

답변

1

당신은 계속 사용해야합니다.

+0

아, 비동기 부분을 잘 잡습니다. JS SDK로 빌드 한 지 오래되었습니다. 내 대답을 삭제하고이 답변을 승인했습니다. –

+0

좋습니다.이 기능을 사용할 수없는 것 같습니다. 나는'email = emailcheck (function (email) {alert (이메일);}'을 사용하고 여전히 '정의되지 않음'을 얻고있다. –

+0

@RickeyESmith - 비동기 메소드는 데이터를 반환 할 수 없다. 샘플에서, 계속. –

관련 문제