gpt4 book ai didi

javascript - 如果正在发出相同的请求,则跳过 AJAX 功能

转载 作者:行者123 更新时间:2023-11-30 10:29:37 25 4
gpt4 key购买 nike

我在 JavaScript 函数中有我的 AJAX 请求。使用 setInterval 函数,AJAX 函数每 5000 毫秒执行一次。

我想知道是否有一种方法可以检查之前的 AJAX 调用是否仍在处理中,因此我没有多个相同的 AJAX 请求。

这是我的代码:

function getData(fields){
$.ajax({
url: 'index.php',
type: 'post',
data: { fields: fields },
dataType: 'json',
success: function(json) {
if (json) {
// We have a response
}
});
}

window.setInterval(function(){
getPosts(fields);
}, 2000);

提前致谢!

彼得

最佳答案

var req;

创建一个我们可以在函数范围之外访问的变量。

function getData(fields) {
req = $.ajax({...});

将变量赋给ajax请求

setInterval(function() {
if (req.state() == 'resolved' && req.state() !== 'pending') {
getPosts(fields);
}
});

检测.state()

关于javascript - 如果正在发出相同的请求,则跳过 AJAX 功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17663218/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com