5

angular JS 1.1.5 では、以前に開始した $http 呼び出しをキャンセルできます。これら 2 つのlink1link2は、それがどのように機能するかについての説明を提供します。

ただし、これを実際に使用する方法がわかりません。私が達成したいことを説明するためにplnkrを作成しました。

  1. ユーザーはクリックできるリンクを持っています (私たちが知っているように、ユーザーは非常に熱心にそれを行う傾向があります)
  2. ユーザーがリンクをクリックし、前のリクエストがまだ終了していない場合は、キャンセルして新しいリクエストを作成する必要があります (この例では、複数のクリックを無視する方法が他にもあります。元の問題は、ユーザー入力フィールドに ng-change が含まれていることです。 - ユーザーが値を変更するたびにリクエストが行われます - キーを押すたびに $http が起動します. リンクを使用して少し簡単にします)

plnkrでわかるように、リクエストが発生してすぐにキャンセルされますが、最後のリクエストが成功することを期待しています。

私はangularjsが初めてなので、おそらく間違っています。想像できることはすべてグールしましたが、canceler.resolve() の完全な例はありません。

誰かがこれを手伝ったり、正しい方向に導いたりできますか?

4

1 に答える 1