2016-03-30 63 views
2

以下是我的代碼:如何在其他回調函數中包裝回調函數並從那裏調用?

 var me = this; 
     gapi.auth.authorize({ client_id: client, scope: scope, immediate: true }, function (authResult: any) { 
      if (authResult && !authResult.error) { 
       me.accessToken = authResult.access_token; 

      } else { 

       //TODO : show error in front end 
      } 
     }); 

當我使用這樣的回調函數。

gapi.auth.authorize({ client_id: client, scope: scope, immediate: true }, AuthResult); 

function AuthResult(authResult: any) { 
       if (authResult && !authResult.error) { 
        me.accessToken = authResult.access_token; 

       } else { 

        //TODO : show error in front end 
       } 

我沒有得到我的財產在回調函數

我怎樣才能包裹在其他的回調功能的回調函數,在那裏我能得到的範圍也在JS

回答

1

使用FAT箭頭:

gapi.auth.authorize({ client_id: client, scope: scope, immediate: true },AuthResult); 

    const AuthResult = (authResult: any) => { 
      if (authResult && !authResult.error) { 
       this.accessToken = authResult.access_token; 

      } else { 
       //TODO : show error in front end 
      } 

更多

不要使用.bindhttps://basarat.gitbooks.io/typescript/content/docs/tips/bind.html至少目前還沒有

+0

如果我必須使用相同的工作在JavaScript中,而不是打字稿。綁定將會很好,或者如鏈接中所描述的那樣有害/ –