从功能中回归角度承诺

时间:2016-05-18 19:38:21

标签: javascript angularjs angular-promise

app.factory('myService', ["$http",function($http){
      this.test = function(){
      return $http.post('fooBar.com');
    }
}

app.controller('myController' ['myService',function(mySerivce){
    myService.test().then(function(){ console.log("success");});
}]);

我的问题是,当我在myService.test()中致电myController时。成功永远不会输出到控制台。我做错了什么,为什么?

1 个答案:

答案 0 :(得分:2)

以下代码块包含错误

myService.test().then(function() console.log("success"););

这是更正。您错过了{}以将您的函数内容包装在then()

myService.test().then(function() { console.log("success"); } );

编辑(来自评论)

.catch()添加到您的保证链,以便$http.post()保证链确认并处理任何错误/失败。

myService.test()
    .then(function() { 
      console.log("success"); 
    })
    .catch(function(err) {
      console.log('failure');
    });