2012-04-05 4 views
1
가 작동해야하지만 그렇지 않은 이유를 알아낼 질수처럼이 내 머리에 보인다

:자바 스크립트 - 콜백 함수

콘솔에서
(function ($) { 

$.fn.extend({ 

    facebook: function (opts, callbackFnk) { 

     var $this = this; 
     ... 
     ... 
     ... 

     $this.fbGetFriends = function(clback){ 
      jsonUrl = fbMe + '/friends?access_token=' + token + '&callback=?'; 
      $.getJSON(jsonUrl, function(json){ 
       console.log(json.data[0].name); 
       clback.call(json); 
      }); 
     } 
     ... 
     ... 
     ... 

이 이름은 내 다른 스크립트에서

나타납니다 로그인 :

var facebook = $.fn.facebook(
    { 
     myClientId : '###############', 
     mySecret : '##############' 
    } 
); 

facebook.fbOnLogin = function(){ 
    user = facebook.userDetails(); 
    token = facebook.getToken(); 
    facebook.fbGetFriends(function(json){ 
     for (var i in json) { 
      console.log('friends: ' + i + ' ' + json[i]); 
     } 
    }); 
} 

콘솔 로그에서 아무 것도 표시되지 않고 이전 테스트에서 표시 오류 데이터가 정의되지 않았습니다.

아무도 내가 잘못 가고 있다고 말할 수 있습니까?

관련

+0

@Kolink가 질문에 대답했지만,이 Facebook 라이브러리를'jQuery.fn'에 추가하는 이유가 무엇입니까? 별개로 만들면 훨씬 덜 복잡해집니다. – Matt

+0

실제로 작동하는 android/phonegap의 전체 플러그인입니다. 나는 이미 아래에서 시도했지만 다시 시도 할 것입니다. –

답변

3

당신은 단지 clback(json) 충분하다 clback.call 필요가 없습니다.

+0

나는 이것을 시도했지만 지금은 효과가있다! 이봐, 건배 –

관련 문제