Вышеописанный сценарий также может быть реализован с использованием одной службы, как показано ниже:
app.service("addservice",function(){
this.addition = function(num1, num2) {
return num1 + num2;
}
});
app.controller('myCtrl', function($scope, addservice) {
$scope.result =addservice.addition(7,6);
});
Однако, если вы хотите использовать обещание, чтобы сделать его асинхронным, тогда оно должно быть примерно таким:
app.service("addservice",function($q){
this.addition = function(num1, num2) {
var deferred = $q.defer();
var result = num1 + num2
deferred.resolve(result)
//return promise
return deferred.promise;
}
});
app.controller('myCtrl', function($scope, addservice) {
addservice.addition(6,6).then(function (data){
$scope.result = data;
})
});