2015-09-08 26 views
0

我兩小時前開始學習角JS,看到這個教程:

var app = angular.module("githubViewer", []); 

var MainController = function($scope, $http){ 

    var onUserComplete = function(response){ 
     $scope.user = response.data; 
    }; 
    var onError = function(reason){ 
     $scope.error = "Failed to get the user info."; 
    }; 

    var promise = $http.get("https://api.github.com/users/someone"); 
    promise.then(onUserComplete, onError); 

}; 

app.controller("MainController", MainController); 

我明白$範圍/ $ HTTP是原產於角,但什麼關於答覆/原因?他們如何傳遞給函數?

+0

是的,我不熟悉Javascript本身。 – dunfa

回答

0

這些是回調函數 - onUserCompleteonError,它們在$http.get()函數返回的許諾被解析時調用。回調函數傳遞的響應通過$http.get()的調用完成返回。函數中的參數是該響應。

0

@Rohit Jain是對的。

這更像是一個Javascript,然後是Angular。回撥通常用在JS中。

這裏是一個快速爲例來了解回調是如何工作的

function mainFunc(mycallBack){ 
    mycallBack() 
} 

function onSomething(){ 
    alert("hi"); 
} 
mainFunc(onSomething); 

http://plnkr.co/edit/Ud1E6Wbns1EnItVI8Xg7?p=preview

我希望它能幫助。

Regards, Eric