超时调用
// 设置超时调用
var t = setTimeout(function() {
console.log(new Date())
}, 1000)
// 取消调用
clearTimeout(t)
复制代码
间歇调用
// 设置超时调用
var t = setInterval(function() {
console.log(new Date())
}, 1000)
// 取消调用
clearTimeout(t)
复制代码
模拟
后一个间歇调用可能会在前一个间歇调用结束之前启动,所以用超时调用来模拟间歇调用是一种最佳模式。
var num = 0;
var max = 10;
function incrementNumber() {
num++;
if(num < max) {
setTimeout(incrementNumber, 500)
} else {
console.log('结束')
}
}
var t = setTimeout(incrementNumber, 500)
复制代码
实践
多用于事件轮询