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