2016-12-12 1 views
0

問題文: 私は3つのタブを使用しています。タブ-a、タブ-b、およびタブ-c。 各タブは、ドキュメントの読み込み時にWeb APIへの5-6サービスコールを持ちます。私の問題は、私がタブをクリックすると、タブのa..callsは、ルートの変更を迅速に開始します。 Tab-bをクリックすると以前の通話が処理され、さらに6つの新しい通話がタブ-bから追加されます。私は、切り替えルート上でタブ-aから前の呼び出しを中断したい。それは私のAngular SPAの性能に影響します。anglejsのルートを切り替えながらサービスコールを中止します

私は角度jsルーティングを使用しています。

app.config(function ($routeProvider) { 
$routeProvider 
.when('/daily', 
{ 
    title: 'Daily - Stats', 
    templateUrl: '/SPA/Daily.html' 
}) 
.when('/weekly', 
{ 
    title: 'Weekly - Stats', 
    templateUrl: '/SPA/Weekly.html' 
}) 

ウェブAPIからデータを取得して送信するサービスが1つあります。

+0

は多分あなたを助けることができます。 http://stackoverflow.com/questions/13928057/how-to-cancel-an-http-request-in-angularjs – LorenzoBerti

+0

私のシナリオでは問題ありませんが、うまくいきません。上記の流れに従って、コードの一部を私に教えてください。お返事ありがとうございます。 –

答えて

0

あなたは(私は、コードをテストしていません) 同様の$ routeproviderで解決を使用することができます。

.when('/daily', 
{ 
title: 'Daily - Stats', 
templateUrl: '/SPA/Daily.html', 
resolve: { 
    foo: function($http){ 
     $http.pendingRequests.forEach(function (pendingReq) { 
     //here cancel pendingReq like pendingReq.resolve() 
    } 
} 

またはあなたがRoutechangeStartを使用することができます。

あなたはこの記事でよりも見つけることができます: AngularJS abort all pending $http requests on route change

+0

ありがとう、それは働いています...... –

+0

あなたは歓迎します、同じ問題を抱えている他の人のために、答えを受け入れることを忘れないでください – LorenzoBerti

関連する問題