0
我有一個服務功能,看起來像:不能解析我在控制器的承諾 - AngularJS
this.addJobRating = function(jobId, userId, rating){
var deferred = $q.defer();
$http.post('/to/my/api', {job_id: jobId, user_id: userId, rating: rating})
.success(function(data){
deferred.resolve(data)
})
.error(function(data){
deferred.reject('promise call failed');
});
return deferred;
};
我可以撥打以上在我的控制器像這樣
console.log(myService.addJobRating(646, 9999, 'good-result')
該日誌的預期在控制檯日誌中承諾對象。但如果我嘗試解決使用的承諾:
myService.addJobRating(646, 9999, 'good-result').then(function(data){
console.log(data);
}, function(data){
console.log(data);
});
我收到TypeError: undefined is not a function
錯誤。
這是怎麼發生的?
讓這個錯字分開,爲什麼不能直接返回http promise呢? (返回$ http.post('/ to/my/api',{job_id:jobId,user_id:userId,rating:rating})。返回$ q.reject('promise call failed');});' – PSL 2014-09-18 18:55:08