在哪里写成功和错误

时间:2017-02-20 09:25:00

标签: javascript angularjs promise

我在这里使用Angularjs1.x,这是我的条件。如果条件成功,则显示表,否则抛出错误。如果成功,我知道一些代码。

AngCtrl.Js

 $scope.BtnCall = function () {

  ServiceCntrl.CallData().then(function (d) {
        $scope.EmpData = d.data;

    });

 }      

AngService.Js

eApp.service("ServiceCntrl", function ($http) {
var xx = '';

xx= $http({
        data: formData,
        method: 'post',
        url: Url,
        datatype: "json"
    }).success(function (rsp) {
        RspData = rsp;
        return RspData;
    }).error(function (rsp) {
        console.log('Error');
    });
    return xx;
};

4 个答案:

答案 0 :(得分:1)

你的x.then收到两个函数x.then(function(){}, function(){});第一个函数在promise成功解析时被调用,第二个函数在promise被拒绝(失败)时被调用。

如果你的服务函数是返回$ http promise,那么你的第一个函数可以有一个名为(你喜欢的任何东西)的参数,它将有你可以使用的响应数据。如果有的话,第二个函数可以接收错误参数。

答案 1 :(得分:0)

您应该查看有角度的$http service文档。

如果您的服务正在返回获取请求的承诺,那么您可以编写

$scope.BtnCall = function () {
    var x = ServiceCntrl.CallData();
    x.then(function(response) {
   //Success callback
   //code on success goes here
   //response.data

  }, function(response) {
    //error callback
    //code on error goes here
    // server returns response with an error status.

  });

您可以使用ng-show/ng-hide来显示和隐藏html页面上的内容。

答案 2 :(得分:0)

您可以按以下方式编写成功/失败代码:

$scope.BtnCall = function() {
   var x = ServiceCntrl.CallData();
   x.then(function(result) {
       // Success code here 
       // Do something and resolved the promise           
   }, function(reason) {
       // Error code here
       // You may handle/reject the reason in params
   });
});

另请参阅Angular docs for $q

答案 3 :(得分:-1)

AngularJS $ http服务向服务器发出请求,并返回响应
        上面的示例以对象作为参数执行$ http服务。该对象指定HTTP方法,URL,成功时做什么以及失败时要做什么。

 $scope.BtnCall = function () {
      ServiceCntrl.CallData().then(function (d) {
            $scope.EmpData = d.data;
        });
     }    

AngService.Js:

  eApp.service("ServiceCntrl", function ($http) { 
    var xx = '';
    xx= $http({ 
             data: formData,
             method: 'post',
             url: Url, 
             datatype: "json" 
           }).success(function (rsp) {
              RspData = rsp; 
              return RspData; 
          }).error(function (rsp) { 
            console.log('Error');
           });
         return xx; 
    };