作者mhsu2k9 (mhsu2k9)
看板Ajax
標題Re: [問題] 如何在迴圈中延遲?
時間Thu Jul 5 22:45:47 2018
(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://webptt.com/m.aspx?n=bbs/Ajax/M.1530801950.A.7CF.html
1F:推 ggbast: 感謝大大幫忙 :D 07/06 09:54
2F:推 ggbast: 我試過後這方法確實可行 07/06 22:30
3F:推 akito117: 推一下,之前也有類似的問題,感謝 07/16 17:42