我在jquery中有一个函数,其中有一个while循环,可能需要几秒钟才能完成。在Chrome中,脚本运行速度很快,但在Firefox中,相同的脚本会阻塞UI线程太长时间。所以我想为这个函数设置一个超时,如果它没有在一秒内完成,那么我退出它。有可能在jQuery中做到吗?
答案 0 :(得分:1)
var count = 1;
var counter = setInterval(timer, 1000); //1000 will run it every 1 second
function timer() {
if (count <= 0) {
clearInterval(counter);
return;
}
count = count - 1;
//Runs code
}
以下代码将在1000毫秒后超时。
(我理解错误)
答案 1 :(得分:0)
好的,所以我通过这样做解决了这个问题:
var n = 0;
setTimeout(function() {
n = 1;
}, 1000);
在我的while循环中,我检查是否n == 0