我setTimeout
在递归函数中被调用:
var recursiveTimer = function(duration, data) {
anotherFunction(data);
setTimeout(function() {
// Do stuff with data
data = {};
recursiveTimer(duration, data);
}, duration);
};
这里的问题是 myanotherFunction
并不总是被调用。我体验到每隔一次recursiveTimer
运行它就会被调用一次。
怎么可能?
编辑:
我anotherFunction()
真正做的是,它使用 jQuery 为 dom 元素设置动画。像这样:
$('#slider .slider-loader').find('.bg').css('width', "0%");
currentLoader.find('.bg').animate({
width: "100%"
}, 3000);
第一行是问题所在。它不是每次都被解雇,而是每隔一次被解雇。