0

$resourceいくつかの API を呼び出します。何らかのフラグを返す場合、リクエストは.catch()のセクションにドロップする必要があります$resource('api/').get(...).$promise.catch();

私のインターセプターはその呼び出しをトリガーしません。.thenいずれにせよ呼び出す

インターセプター コード:

.factory('SomeHTTPInterceptor', function($q) {
    return {
        response: function(response) {
            if (response.data.someFlag) {
                return $q.reject(response);
            }
            return response;
        }
    };
})

同じ応答を取得する方法はありますが、すべての要求でエラーをチェックせずに catch セクションに入れますか?

4

1 に答える 1

0

ドキュメント responseError に従って responseError ハンドラーを使用する必要があります。

.factory('SomeHTTPInterceptor', ['$q', function($q) {
    return {
        // optional method
        'responseError': function(rejection) {
            if (rejection.data.someFlag) {
                // do something
            }

            return $q.reject(rejection);
        }
    };
}]);
于 2015-08-14T01:48:44.307 に答える