最佳答案
我使用 axios
处理 ajax 请求,使用 reactJS
+ flux
处理呈现 UI。在我的应用程序中有第三方时间线(reactJS 组件)。时间轴可以通过鼠标滚动来管理。应用程序发送 Ajax 请求的实际数据后,任何滚动事件。服务器处理请求的速度可能比下一个滚动事件慢。在这种情况下,应用程序可能会有几个(通常是2-3个)请求,这些请求已经被弃用,因为用户需要进一步滚动。这是一个问题,因为每次在接收新的数据时间表开始重新绘制。(因为它是 reactJS + 通量)由于这个原因,用户可以看到时间轴来回移动好几次。解决这个问题最简单的方法就是像在 jQuery
中一样中止以前的 ajax 请求。例如:
$(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
中取消/中止请求?