【面试刷题 】使用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()
相关推荐
Java_2017_csdn15 分钟前
在 Java 中,MessageFormat.format() 和 String.format() 函数对比?
java·开发语言·前端·数据库
IT策士16 分钟前
第 44篇 k8s之实战:将 Web 应用迁移到 Kubernetes(上)
前端·容器·kubernetes
用户0595401744628 分钟前
把Agent记忆测试从Mock换到真实Redis,漏测率从30%降到0
前端·css
吃阿茶搽29 分钟前
大模型RAG实战,从被骂不靠谱到成为部门MVP,我的踩坑全记录
vue.js
Surprisec29 分钟前
如何用 TypeScript 写一个最小可运行的 CLI Agent
前端·人工智能·typescript
marskim30 分钟前
零依赖、高性能!从零实现 React 拖拽排序组件(基于 HTML5 Drag and Drop API)
前端
jingling55532 分钟前
从零到一:用 Aholo Viewer 在浏览器里渲染 3D 高斯泼溅小熊
linux·前端·ubuntu·3d
情多多7734 分钟前
基于NetCorePal Cloud Framework的DDD架构管理系统实践
javascript
Good kid.39 分钟前
开源一套 Vue3 多模态 AI 控制台前端:游乐场、工作室与 API 文档页
前端·人工智能·开源
小林ixn40 分钟前
前后端模块化分离实战:从零搭建用户列表展示(HTML+CSS+JS + json-server)
前端·javascript