angular JS 1.1.5 では、以前に開始した $http 呼び出しをキャンセルできます。これら 2 つのlink1とlink2は、それがどのように機能するかについての説明を提供します。
ただし、これを実際に使用する方法がわかりません。私が達成したいことを説明するためにplnkrを作成しました。
- ユーザーはクリックできるリンクを持っています (私たちが知っているように、ユーザーは非常に熱心にそれを行う傾向があります)
- ユーザーがリンクをクリックし、前のリクエストがまだ終了していない場合は、キャンセルして新しいリクエストを作成する必要があります (この例では、複数のクリックを無視する方法が他にもあります。元の問題は、ユーザー入力フィールドに ng-change が含まれていることです。 - ユーザーが値を変更するたびにリクエストが行われます - キーを押すたびに $http が起動します. リンクを使用して少し簡単にします)
plnkrでわかるように、リクエストが発生してすぐにキャンセルされますが、最後のリクエストが成功することを期待しています。
私はangularjsが初めてなので、おそらく間違っています。想像できることはすべてグールしましたが、canceler.resolve() の完全な例はありません。
誰かがこれを手伝ったり、正しい方向に導いたりできますか?