js每隔一秒列印1,2,3,4,5
阿新 • • 發佈:2018-12-20
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)
}
})()