私は、pluralsight.com にある Angular.js に関連するチュートリアルに従っています。これまでのところ、深刻な問題はありませんでした。チュートリアルは非常に優れており、従うのは簡単です。ただ、どうしても自分では解決できないことがあります。成功時または失敗時のいずれかで、Deffered の反応が異なるようにしたいと考えています。この場合、彼らは成功したかのように常に発砲しています。
サービス:
var resource = $resource('/data/event/:id', {id: '@id'});
return {
getEvent: function (id) {
var deferred = $q.defer();
resource.get({id: id},
function (event) {
console.log("This is (EVENT): " + event);
deferred.resolve(event);
},
function (response) {
console.log("This is (RESPONSE): " + event);
deferred.reject(response);
});
return deferred.promise;
コントローラ:
$scope.event = eventData.getEvent(2)
.then (
function(event) {
$scope.event = event;
console.log(event);
},
function(response) {
console.log(response);
}
);
つまり、(存在しない JSON ファイルをロードするために) 間違った ID を送信した場合、そのことを知らせてもらいたいのです。