【面试刷题 】使用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()
相关推荐
柒和远方43 分钟前
V043:BFF 层流式输出:从前端直连到生产级流式网关的架构演进
javascript·架构·node.js
用户938515635071 小时前
SSE 流式输出的工程化拐点——为什么你需要一个 BFF 层
javascript·人工智能·全栈
不简说1 小时前
JS 代码技巧 vol.4 — 10 个异步并发控制,Promise.all 这帮兄弟的踩坑实录
前端·javascript·面试
Sinclair2 小时前
安企CMS的安装-PHPStudy(小皮面板)部署
前端·后端
会飞的特洛伊2 小时前
IAM身份认证
前端·后端
钛态2 小时前
AI 组件生成评测:别只看页面能不能渲染
前端·vue·react·web
Hyyy2 小时前
requestAnimationFrame和setTimeout有什么不同
前端
Jackson__3 小时前
问到你想清楚,这个 skill 专治没想明白就写代码!
前端·github·ai编程
এ慕ོ冬℘゜3 小时前
前端实战:Textarea 实时字数计数输入器(带字数限制+UI优化完整源码)
前端·ui
程序员黑豆4 小时前
从零开始:创建第一个鸿蒙应用程序
前端·harmonyos