Re: [问题] 如何在循环中延迟?

楼主: itisjoe ( _(:3”∠)_)   2018-07-05 23:55:27
把你的函式改成一个递回函式呢?
像是
function someRecursive(cnt) {
/* do something */
if (cnt < 999) {
setTimeout(someRecursive(cnt + 1), 5000)
}
}
之类的
※ 引述《ggbast (GG)》之铭言:
: 最近刚踏入javascript的领域
: 我想在一个循环中重复执行某一个function
: 这个function是个同步函数
: 我希望每次都做完这个function才延迟
: 大概像是下面这样
: while (cnt<999) {
: function()
: delay()
: cnt++
: }
: 我试过了setTimeout 结果跟预期的不同
: 用了promise跟then的作法也是不如预期
: 请问各位大神有什么方法可以做到我要的效果呢?
作者: ggbast (GG)   2018-07-06 09:55:00
感谢大大帮忙 :D
作者: eight0 (欸XD)   2018-07-07 01:51:00
建议写成 setTimeout(someRecursive, 5000, cnt + 1)

Links booklink

Contact Us: admin [ a t ] ucptt.com