标签:
一般来说JS异步处理主要有两种: setTimeout 和 setInterval
如果只需要延时执行一次XXX事件,那么一般采用setTimeout
setTimeout(function(){alert("kewen nihao!")}, 2000);
但是如果需要根据某个条件循环执行,那么就必须使用setInterval了。
setTimeout在 for/while循环中,是不会等待延时时间的。
比如我现在这样写:
for (var int = 0; int < 10; int++) { setTimeout(function(){alert("kewen nihao!")}, 2000); }
这个时候我们就要采用setInterval来实现每次循环延时2秒执行的需要:
var intervalId = setInterval(function(){ times += 1; alert("kewen nihao!"); if (times == 10) { clearInterval(intervalId); } },5000); }这个时候就会按照我们之前设想的,每隔5秒钟执行一次方法体,直到循环10次结束。 clearInterval(intervalId) 用于终止此次循环。 setInterval会有一个id的返回值,用于clearInterval时使用。
版权声明:本文为博主原创文章,未经博主允许不得转载。
JS异步处理 setTimeout / setInterval 比较
标签:
原文地址:http://blog.csdn.net/kewen1989/article/details/47317613