【面试刷题 】使用Promise实现红绿灯交替重复亮

第1题:使用Promise实现红绿灯交替重复亮

红灯3秒亮一次,绿灯2秒亮一次,黄灯1秒亮一次;如何让三个灯不断交替重复亮灯?

要求:用Promise实现

三个亮灯函数已经存在:

javascript 复制代码
function red() {
    console.log('red');
}
function green() {
    console.log('green');
}
function yellow() {
    console.log('yellow');
}
javascript 复制代码
	function lightOn(time,cb){
            return new Promise((resolve) => {
                cb()
                setTimeout(() => {
                    resolve()
                }, time);
            
            })
        }
        function pro(){
            Promise.resolve().then(() => {
                return lightOn(3000, red)
            }).then(() => {
                return lightOn(2000, green)
            }).then(() => {
                return lightOn(1000, yellow)
            }).then(()=>{
                pro()
            })
        }
        pro()
相关推荐
yb305小白7 分钟前
echarts 排名Y轴数据过多出现滚动条,排名柱形条绑定事件
前端·echarts
skywalk816310 分钟前
Kotti Next:使用FastAPI+Vue 3构建的现代无头CMS-Kotti CMS的精神继承者(使用WorkBuddy AI自动编程)
前端·vue.js·人工智能·fastapi·kotti
小码哥_常12 分钟前
Android开发秘籍:给图片加上独特水印
前端
坊钰12 分钟前
SpringBean的生命周期
前端·html
happymaker062613 分钟前
vue的基本使用和指令
前端·javascript·vue.js
threerocks16 分钟前
【前端转 Agent】01 | 从 Claude Code 开源热议聊起,不急着转 Python
前端·agent·claude
凉生阿新18 分钟前
【React】从零配置 Git Hooks:提交前自动校验与格式化(Vite + React 19)
前端·git·react.js
英俊潇洒美少年19 分钟前
Vue3 为什么不做 Fiber / 并发渲染?
前端·javascript·vue.js
早已忘记1 小时前
CI相关项
java·前端·ci/cd