皆さん、
次の方法でサーバーからデータをフェッチするサービスを作成しました。
myApp.factory('CommonHttpService', function($http, $q){
var myUrl;
return{
query: function(tableName){
//Forming the URl
myUrl = baseUrl + "?table=" + tableName;
// Create a deferred object
var deferred = $q.defer();
//Calling web api to fetch all rows from table
$http.get(myUrl).success(function(data){
deferred.resolve(data);
}).error(function(){
// Sending a friendly error message in case of failure
deferred.reject("An Error occured while fetching items");
});
// Returning the promise object
return deferred.promise;
}});
私のコントローラーは次のように呼び出します:
// Get entire list
CommonHttpService.query(tableName).then(function(data) {
$scope.list = data;
});
したがって、私の質問は、この全体のスキームでは、エラーを処理する方法または場所がわかりません。エラーは deferred.reject().. で処理されますか?
または、コントローラーの .then() の後に処理されますか。
理想的には、「データが見つかりません」などのメッセージをユーザーに表示し、エラーの詳細を管理者などに送信する必要があります
以前にこれを行ったことがあり、少しのアドバイスがある人は、親切にそれらを伝えてください。
事前に感謝します。