有一个需要在一个循环里执行setTimeout,差不多是这样for (var i = 0; i < 30; i++){
setTimeout("isfun()", 3000)
}setTimeout是异步的,怎么让他在延迟执行完之后接着执行下一个setTimeout,而不是30个一起执行新手望赐教
1 回答
斯蒂芬大帝
TA贡献1827条经验 获得超8个赞
把逻辑写在settimeout里,用递归的方式。
var i=0;function isfun(){ //your code here
//-----
(++i<30)&&setTimeout("isfun()", 3000); /*或者通俗点这样写
i++;
if(i<30){
setTimeout("isfun()", 3000);
}
*/}添加回答
举报
0/150
提交
取消
