グローバル メソッドを設定して HTTP リクエストを中止する方法は明らかです。の線に沿った何か
$scope.canceller = $q.defer();
var API = $resource('http:/foo.com', {}, {get: {
method:'GET',
timeout:$scope.canceller.promise
}});
$scope.abortRequests = function() {
$scope.canceller.resolve();
}
ただし、特定のリクエストのみを中止できるようにしたいです。中止できるようにするために必要なリクエスト用に別のリソースを定義できますが、それはかなり醜いです。タイムアウトを条件付きにすることができる $resource を呼び出すときに、パラメーターまたは何かを渡す方法はありますか? たぶん、次のようになります。
var API = $resource('http:/foo.com', {}, {get: {
method:'GET',
timeout:function() { if (FOO) { return $scope.canceller.promise; }}
}});
しかし、どうすれば FOO にアクセスできますか?
洞察をありがとう!