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

看板Ajax作者 (mhsu2k9)時間6年前 (2018/07/05 22:45), 編輯推噓3(300)
留言3則, 2人參與, 6年前最新討論串2/3 (看更多)
(async function loop() { for (let i = 0; i < 10; i++) { await new Promise((resolve) => { console.log(i.toString()); setTimeout(resolve, 2000); }); } })() //每次console.log 後,延遲2000ms再進下一迴圈 ※ 引述《ggbast (GG)》之銘言: : 最近剛踏入javascript的領域 : 我想在一個迴圈中重複執行某一個function : 這個function是個同步函數 : 我希望每次都做完這個function才延遲 : 大概像是下面這樣 : while (cnt<999) { : function() : delay() : cnt++ : } : 我試過了setTimeout 結果跟預期的不同 : 用了promise跟then的作法也是不如預期 : 請問各位大神有什麼方法可以做到我要的效果呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.225.2.82 ※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1530801950.A.7CF.html

07/06 09:54, 6年前 , 1F
感謝大大幫忙 :D
07/06 09:54, 1F

07/06 22:30, 6年前 , 2F
我試過後這方法確實可行
07/06 22:30, 2F

07/16 17:42, 6年前 , 3F
推一下,之前也有類似的問題,感謝
07/16 17:42, 3F
文章代碼(AID): #1RFYyUVF (Ajax)
討論串 (同標題文章)
文章代碼(AID): #1RFYyUVF (Ajax)