红绿灯
promise 实现红绿灯交替重复亮
function red() {
console.log("red");
}
function green() {
console.log("green");
}
function yellow() {
console.log("yellow");
}
//实现亮灯函数
function light(db, color) {
return new Promise((res) => {
setTimeout(() => {
color();
resolve();
}, db);
});
}
function main() {
Promise.resolve()
.then(() => {
return light(3000, red);
})
.then(() => {
return light(2000, yellow);
})
.then(() => {
return light(1000, green);
})
.then(() => {
return main();
}); //执行完一轮再接上
}
main();