settimeout如何实现 和interval一样的效果
var getCount = function(doSth, interval) {
var timer = 0,
doSth = doSth,
interval = interval || 1000;
var run = function() {
doSth();
timer = setTimeout(run, interval);
};
return {
run: run,
stop: function() {
timer && clearTimeout(timer);
}
};
}
var num = 0;
var doSth = function() {
console.log(num);
};
var count = getCount(doSth, 500);
13 回答13.1k 阅读
7 回答2.3k 阅读
3 回答1.4k 阅读✓ 已解决
6 回答1.5k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
3 回答1.5k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
可以利用递归方法实现interval的效果,如下:
//但是要注意它的倒计时没有interval计时准确!