Open Cosen95 opened 4 years ago
方案1:
function Queue1() {
this.queue = []
this.task = (time, fn) => {
this.queue.push({fn, time})
return this
}
this.start = () => {
let deffer = 0
for (let i of this.queue) {
deffer += i.time
setTimeout(i.fn, deffer)
}
}
}
方案2:
function Queue2() {
this.queue = []
this.task = (time, fn) => {
this.queue.push(function (resolve) {
setTimeout(function () {
resolve(fn())
}, time)
})
return this
}
this.start = async () => {
for (let i of this.queue) {
await new Promise(i)
}
}
}
题目如下: