字符'a'4秒输出一次,字符'b'3秒输出一次,字符'c'2秒输出一次;如何让abc字符不断交替重复输出?
// 版本1
function stp() {
new Promise((resolve,reject)=>{
setTimeout(()=>{
console.log('a');
resolve()
},4000)
}).
then(()=>{
new Promise((resolve,reject)=>{
setTimeout(()=>{
console.log('b');
resolve()
},3000)
}).
then(()=>{
new Promise((resolve,reject)=>{
setTimeout(()=>{
console.log('c');
resolve()
},2000)
}).
then(()=>{
stp();
})
})
})
}
stp();
//版本2
function stp() {
const p = new Promise((resolve,reject)=>{
setTimeout(()=>{
console.log('a');
resolve()
},4000)
})
const p1 = p.then(()=>{
return new Promise((resolve,reject)=>{
setTimeout(()=>{
console.log('b');
resolve()
},3000)
})
})
const p2 = p1.then(()=>{
return new Promise((resolve,reject)=>{
setTimeout(()=>{
console.log('c');
resolve()
},2000)
})
})
p2.then(()=>{
stp();
})
}
stp();
有更好的方法,请留言评论,有错误的地方恳请指正!