gpt4 book ai didi

javascript - 我认为clear间隔问题

转载 作者:行者123 更新时间:2023-11-28 01:31:47 25 4
gpt4 key购买 nike

我像许多初学者一样来到这里:D 因此,我不会浪费时间来解释我的问题。

http://heavenpro.lt/ukv - 演示网站。有 2 个用户等。

sekret - demo 
demo - demo

(用于登录)如果您看到任何错误 - 我们很高兴知道有机会解决它。当用户关闭(Išj. - 按钮)时,演示用户会看到日志:WAITING学生 (Laukiama Studento)

sekret 打开后(Įjungt - 按钮)一切似乎都正常,演示用户看到事件用户,单击下一个后 - 会发出已更改学生的警报,以及您是否想更新信息(查看新信息)。 . 关闭后(Išj. 按钮)在除 IE 之外的所有浏览器中都可以正常工作.. 似乎clearInterval 不起作用,并且在发送大量查询和响应后,它会弹出多个警报窗口..希望你明白我的意思。

var sid = "{$i->sid}";
var mid = "{$i->mid}";

var update_st = setInterval(function(){
$.post(
'ajax/check-student.php',
{ sid: sid, mid: mid },
function(resp){
if(resp == "next") {
var cf = confirm('Buvo pakeistas studentas besiginantis darbą. Ar rodyti sekantį studentą?');
clearInterval(update_st);

if (cf) {
window.location = "?";
}
else {
alert('Kai norėsite perjungti kitą vartotoją, prašome perkrauti puslapį.');
clearInterval(update_st);
}
}
else if (resp == "none") {
alert("Gynimas baigtas. Ačiū už dalyvavimą vertinimo komisijoje.");
clearInterval(update_st); // this place not works..
window.location = "?";
}
});
}, 250);

测试了很多次..似乎有时工作正常..在 IE 9 上测试..

也许有人可以提供任何其他想法以同样的方式做?每秒没有很多查询发送到文件...

最佳答案

您可以使用 setTimeout 而不是 setInterval,原因有很多...所以你将调用创建 setTimeout 的函数!这个方法将保证您的代码将执行当且仅当对服务器的查询完成!

var a = function(){
var timer = setTimeout(function(){
// ok your ajax query success of error whatever
a();
console.log(2)
}, 1000);
}

a();

您必须将查询放入 setTimeout 中,并在查询完成后调用函数或其他任何操作!

所以demo

关于javascript - 我认为clear间隔问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22037477/

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