【发布时间】:2023-03-15 14:34:02
【问题描述】:
使用 AngularJS,我可以像这样直接在服务中解决我的承诺:
.factory('movieService', function($http, $log, $q) {
return {
getMovie: function(movie) {
var deferred = $q.defer();
$http.get('/api/v1/movies/' + movie)
.success(function(data) {
deferred.resolve({
title: data.title,
cost: data.price});
}).error(function(msg, code) {
deferred.reject(msg);
$log.error(msg, code);
});
return deferred.promise;
}
}
});
如文档中所述 (https://docs.angularjs.org/api/ng/service/$http#):
$http 遗留的 promise 方法成功和错误已经 已弃用。请改用标准 then 方法。如果 $httpProvider.useLegacyPromiseExtensions 设置为 false 然后这些 方法会抛出 $http/legacy 错误。
所以success 和error 被弃用了。
如何解决then 语句中的承诺?
问候。
【问题讨论】:
标签: angularjs promise angular-promise