を返しサービスからのHTTP要求の取り消し:私は、次の方法で私のコントローラでは、このメソッドを使用AngularJS - 私はのように見えるサービスメソッド持って約束
this.myServiceFunction = function(){
var deferred = $q.defer();
$http({
method: 'GET',
url: 'domain/myendpoint'
})
.success(function(data){
deferred.resolve(data);
})
.error(function(data){
deferred.reject(data);
});
return deferred.promise;
};
:
$scope.myControllerFunction = function(){
myService.myServiceFunction().then(function(){
// Do things when promise resolves
});
};
を
上記のHTTP呼び出しをコマンド上の別の関数でキャンセルしたいと思います。私はこのanswerを見つけたので、$q.defer()
から返されたオブジェクトのresolve()
メソッドを呼び出してHTTPリクエストを取り消すことができます。しかし、私のコードベースでは、このオブジェクトは決して私のコントローラで利用可能になりません。
myService.myServiceFunction()
は、上記の例では、$q.defer()
から返されたpromise
オブジェクトを返します。私の持つ範囲内でHTTPリクエストをキャンセルするにはどうすればいいですか?
[前の質問](http://stackoverflow.com/questions/13928057を参照してください。/how-to-cancel-an-http-request-in-angularjs)を参照してください。 –
@マークス。あなたはその質問を読んだのですか? –
** RxJs **を使ってみませんか? – Hosar