2014-02-06 32 views
0

我需要執行一個函數完成執行後纔會執行的代碼。我讀過關於$ q的內容,然後等等,所有示例都使用指令或服務。下面是我有:AngularJS回調函數的實現

$scope.myFunction = function() { 
    $scope.func1(); 
    // some other code 
}; 

<div ng-click="myFunction()">Click Here</div> 

我不想執行「一些其他的代碼」 $scope.func1()一直執行,直到後。我該怎麼做呢?

回答

0
$scope.func1.$inject = ['$q']; 
$scope.func1 = function($q) { 
    var defer = $q.defer(); 

    //sync or async code 
     defer.resolve(); 

    return defer.promise; 
}; 

$scope.myFunction = function() { 
    $scope.func1().then(function() { 
     //some other code 
    }); 
};