我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
?