gpt4 book ai didi

javascript - ajax返回1时如何删除setTimeout函数?

转载 作者:行者123 更新时间:2023-11-29 16:51:05 25 4
gpt4 key购买 nike

我创建了 getAbsentMember在上午 8 点(办公时间)和上午 9 点以后的时间对迟到的用户进行一些查询。我使用 setTimeout 函数来检查时间。但是我想在第二种情况(大于 9)下首先检查当前用户是否存在在数据库中,所以它返回 1 如果存在,0 不存在。问题是 how to remove setTimeout function if return 1(existed) .

function getAbsentMember() {
var x = new Date();
var h = x.getHours();
var m = x.getMinutes();
var s = x.getSeconds();
if (h === 8 && m === 0 && s === 0) {
addAbsent();
}
else if(h > 9) {
$.ajax({
url : "checkingurl",
type : "GET",
dataType : "json",
success : function (c) {
if(c) {return false;}//how to remove setTimeout function[here]
else { addAbsent();}
}
});
}
setTimeout(function(){
getAbsentMember();
},1000);
}
getAbsentMember();

最佳答案

处理所有情况可能变得困难,更简单的方法可能是仅在需要时添加超时

function getAbsentMember() {
var x = new Date();
var h = x.getHours();
var m = x.getMinutes();
var s = x.getSeconds();
if (h === 8 && m === 0 && s === 0) {
addAbsent();
setTimeout(getAbsentMember, 1000);
} else if (h > 9) {
$.ajax({
url: "checkingurl",
type: "GET",
dataType: "json",
success: function(c) {
if (c) {
return false;
} //how to remove setTimeout function[here]
else {
addAbsent();
setTimeout(getAbsentMember, 1000);
}
}
}).fail(function() {
setTimeout(getAbsentMember, 1000);
});
}
}
getAbsentMember();

关于javascript - ajax返回1时如何删除setTimeout函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36051889/

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