[問題] 如何在迴圈中延遲?

看板Ajax作者 (GG)時間6年前 (2018/07/05 16:50), 6年前編輯推噓2(205)
留言7則, 4人參與, 6年前最新討論串1/3 (看更多)
最近剛踏入javascript的領域 我想在一個迴圈中重複執行某一個function 這個function是個同步函數 我希望每次都做完這個function才延遲 大概像是下面這樣 while (cnt<999) { function() delay() cnt++ } 我試過了setTimeout 結果跟預期的不同 用了promise跟then的作法也是不如預期 請問各位大神有什麼方法可以做到我要的效果呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.218.50.232 ※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1530780652.A.8D6.html

07/05 18:30, 6年前 , 1F

07/05 18:30, 6年前 , 2F
pt/Guide/Iterators_and_Generators
07/05 18:30, 2F

07/05 18:31, 6年前 , 3F
https://goo.gl/kUbU7 類似這個概念嗎
07/05 18:31, 3F

07/05 21:40, 6年前 , 4F
new Promise(r => setTimeout(r, 5000))
07/05 21:40, 4F

07/05 21:42, 6年前 , 5F
還要await
07/05 21:42, 5F

07/06 13:42, 6年前 , 6F
async ()=>
07/06 13:42, 6F

07/07 10:00, 6年前 , 7F
這情況用 setInterval 比 setTimeout 好點
07/07 10:00, 7F
感謝幫忙解答的各位:) ※ 編輯: ggbast (49.214.51.121), 07/09/2018 09:58:39
文章代碼(AID): #1RFTliZM (Ajax)
文章代碼(AID): #1RFTliZM (Ajax)