1. 程式人生 > >js每隔一秒列印1,2,3,4,5

js每隔一秒列印1,2,3,4,5

js怎麼每隔一秒打印出數字呢?

方法一: 自執行函式

    for (var i=0; i<5; i++) {
      (function (i) {
        setTimeout(() => console.log(i), 1000*i)
      })(i)
    }

方法二:傳址傳遞

    var out = (i) => {
      setTimeout (() => console.log(i), 1000*i)
    }
    for (var i=0; i<5; i++) {
      out(i)
    }

方法三: Promise.all()方法

    var arr = []
    var output = (i) => new Promise(res => {
      setTimeout(()=>{
        console.log(i)
        res()
      }, 1000*i)
    })
    for (var i=0; i<5; i++) {
      arr.push(output(i))
    }
    Promise.all(arr).then(()=> console.log(5))

方法四:async await方法

    var sleep =
() => new Promise (res => setTimeout(res, 1000)) (async function () { for (let i=0; i<5; i++) { await sleep() console.log(i) } })()