как использовать обещания и услуги в angularjs, чтобы добавить номер - PullRequest
0 голосов
/ 05 октября 2018

используйте 3 услуги для пропуска двух чисел и их суммы.Затем перейдите к контроллерам, чтобы вывести сумму случайных чисел.Я использовал это.но нужно использовать обещания и услуги.

app.service("Service",function(){
  this.number = function(a) {
            return a;
        }
  });

    app.service("Service1",function(){
  this.number = function(b) {
            return b;
        }
  });
  app.service("Service2",function(){
  this.addition = function(a+b) {
            return a+b;
        }
  });
app.controller("Controller",function($scope, Service,Service1,Service2){
$scope.result = Service.addition(5,6);
    });

1 Ответ

0 голосов
/ 05 октября 2018

Вышеописанный сценарий также может быть реализован с использованием одной службы, как показано ниже:

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;
 })
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...