猿问

setTimeout怎么实现按顺序执行?

有一个需要在一个循环里执行setTimeout,差不多是这样

for (var i = 0; i < 30; i++){
    setTimeout("isfun()", 3000)
}

setTimeout是异步的,怎么让他在延迟执行完之后接着执行下一个setTimeout,而不是30个一起执行

新手望赐教


ABOUTYOU
浏览 1216回答 1
1回答

斯蒂芬大帝

把逻辑写在settimeout里,用递归的方式。var&nbsp;i=0;function&nbsp;isfun(){&nbsp;&nbsp;&nbsp;//your&nbsp;code&nbsp;here &nbsp;&nbsp;&nbsp;&nbsp;//----- &nbsp;&nbsp;&nbsp;(++i<30)&&setTimeout("isfun()",&nbsp;3000);&nbsp;&nbsp;&nbsp;&nbsp;/*或者通俗点这样写 &nbsp;&nbsp;&nbsp;&nbsp;i++; &nbsp;&nbsp;&nbsp;&nbsp;if(i<30){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setTimeout("isfun()",&nbsp;3000); &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;*/}
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答