隨着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 legacy legacy methods成功和錯誤 。改爲使用標準然後方法。如果 $ httpProvider.useLegacyPromiseExtensions設置爲false,那麼這些 方法將拋出$ http/legacy錯誤。
因此success
和error
已被棄用。
如何解決then
聲明中的承諾?
問候。
能否請您分享一下解決的「然後」塊一個承諾一些代碼? – Denter
是的,有一刻。 –