我在寫一個將被異步執行的函數。突然間,我的腦海裏浮現出一個問題。AngularJS延遲對象的行爲
比方說,我有以下更新學生記錄的功能。
module.factory('StudentService', function($http, $q) {
var service = {};
service.updateStudent = function(studentData) {
var deferred = $q.defer();
$http.put('http://www.example.com/student/update', studentData, {
headers: { 'Content-Type': 'application/json' }
}).success(function(response) {
if (response.success) {
deferred.resolve(response.data);
} else {
// I am not resolving the deferred object here
}
}).error(function(response) {
// I am not rejecting the deferred object here
});
return deferred.promise;
};
return service;
});
我想問一下,
- 會發生什麼遞延對象,如果問題沒有解決或拒絕?
- 如果延遲對象沒有解決或拒絕,它會導致錯誤鏈像
StudentService.updateStudent(data).then(...)
? - 既沒有解決也沒有拒絕延遲對象的實際用法?
題外話是非常有用的。 – 2015-02-06 08:27:37