私axios
は ajax リクエストに使用し、reactJS
+flux
はレンダリング UI に使用します。私のアプリには、サード サイドのタイムライン (reactJS コンポーネント) があります。タイムラインはマウスのスクロールで管理できます。アプリは、スクロール イベントの後に実際のデータの ajax リクエストを送信します。サーバーでのリクエストの処理が、次のスクロール イベントよりも遅くなる可能性がある問題。この場合、アプリは、ユーザーがさらにスクロールするため、すでに非推奨になっている複数の (通常は 2 ~ 3) 要求を持つことができます。新しいデータを受信するたびにタイムラインが再描画を開始するため、これは問題です。(reactJS+fluxなので) このため、ユーザーはタイムラインの動きを数回前後に見ます。この問題を解決する最も簡単な方法は、前の ajax リクエストを中止することjQuery
です。例えば:
$(document).ready(
var xhr;
var fn = function(){
if(xhr && xhr.readyState != 4){
xhr.abort();
}
xhr = $.ajax({
url: 'ajax/progress.ftl',
success: function(data) {
//do something
}
});
};
var interval = setInterval(fn, 500);
);
でリクエストをキャンセル/中止する方法はaxios
?