マイApiServiceを継続的にHTTPリクエストを停止するには:はどのようにAngularJs
app
.factory('apiService', apiService);
apiService.$inject = ['$http'];
function apiService($http) {
return {
get: _get,
post: _post
};
function _get(url, config) {
return $http.get(url, config);
}
function _post(url, data, config) {
return $http.post(url, data, config);
}
}
マイBookServiceを:
app
.factory('bookService', bookService);
bookService.$inject=['SERVER_CONSTANT','BOOK_CONSTANT','apiService'];
function bookService(SERVER_CONSTANT,BOOK_CONSTANT,apiService) {
return {
getLowestOnlinePrice:_getLowestOnlinePrice
}
function _getLowestOnlinePrice(isbn){
return apiService.get("......");
}
}
マイコントローラー:私は現在進行中のHTTP要求を停止する必要が
function doSearch(data){
angular.forEach($scope.bookSearchResult,function(book){
book.lowestOnlinePricePromise =
bookService.getLowestOnlinePrice(book.bookIsbn).then(function(response){
...
}).catch(function(response){
...
});
});
}
function onClick(){
angular.forEach($scope.bookSearchResult,function(resultBook){
console.log(resultBook.lowestOnlinePricePromise);
//prints as Promise Object
});
angular.forEach($scope.bookSearchResult,function(resultBook){
resultBook.lowestOnlinePricePromise.resolve();
// Shows Error resolve is not a function
});
}
を。約束事を印刷すると、Promise
というオブジェクトとして印刷されます。今それらを止める方法は? apiService
には$q.defer()
を使用しませんでした。私は何が最善の方法であるか分かりません。試しましたresolve()
ですが、それはresultBook.lowestOnlinePricePromise.resolve is not a function
を示しています。必要なヘルプ。
私はバージョンアドバイスで1.4.5
感謝を使用しています。