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

news/2025/1/15 22:40:09/

代码如下所示:

const onRedLight = () => {console.log("red");
};const onGreenLight = () => {console.log("green");
};const onYellowLight = () => {console.log("yellow");
};const onLightUp = (timestamp, callback) => {return new Promise((resolve, reject) => {setTimeout(() => {callback?.();resolve();}, timestamp);});
};const onTrafficStep = () => {Promise.resolve().then(() => {return onLightUp(3000, onRedLight);}).then(() => {return onLightUp(2000, onGreenLight);}).then(() => {return onLightUp(1000, onYellowLight);}).then(() => {onTrafficStep(); // 执行完毕之后,递归执行});
};onTrafficStep();

效果如下图所示:

 


http://www.ppmy.cn/news/788955.html

相关文章

语音控制灯的亮灭

1 材料清单 序号名称数量淘宝链接1树莓派 4B 4g 开发板1https://item.taobao.com/item.htm?spma1z09.2.0.0.70b12e8dv8xy86&id601946840416&_us2km3ff40442ESP8266串口wifi模块 NodeMcu1https://item.taobao.com/item.htm?spma1z09.2.0.0.6eb72e8dMsnTbT&id5332…

Linux常用的关机、开机命令详解

哈喽,欢迎来到小朱课堂,下面开始你的学习吧! Linux 关机 linux关机命令是什么 Liux是一套免费使用和自由传播的类Uix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。那么linux关机命令是什么?…

mx250可以机器学习吗_新一代全能轻薄本标配 MX250究竟有多强?

在广大PC玩家们的心中,笔记本的中低端显卡一直以来都是被看不起的鸡肋,甚至在玩家圈子里还有“请拔掉独显以提高显示性能”、“亮机卡”等说法,过去中低端显卡的性能表现着实无法让大家认可,尤其是在CPU自带核芯显卡的情况下它们的…

linux网卡不兼容pci,LINUX网卡和PCI设备命名的坑,不插显卡启动PVE虚拟机系统!...

这段时间在研究桌面迷你服务器,之前介绍过有一个问题就是用的CPU为至强E3 1231 V3,本身不带核显,亮机卡机箱太小,插不进去,这就导致一旦进不了系统,一切故障只能靠盲猜。下面我把最近遇到的一些坑描述总结一下。 机器宿主系统装的是Proxmox VE,该系统是基于Debian的。第…

chrome下旧显卡开启WebGL

chrome下旧显卡开启WebGL 背景 我使用的电脑的显卡是R5 230显卡,是一款比较旧的亮机卡。chrome版本为:版本 89.0.4389.90(正式版本) (64 位) 打开某些网页的时候提示:The browser supports WebGL, but initialization failed. 但是在WebGL测试…

使用vscode对ros进行调试

测试版本 Ubuntu18.04 ros-melodic 使用的是x86机器,i7-8700亮机卡 0.运行roscore 安装了ros扩展后,可以在vscode运行roscore(不用单开一个终端碍眼了) 运行成功后,会在左下角有个 √ 作为提示信息 1.在vscode左侧…

P106双N卡 自动调用方案

用N卡亮机上P106又怀疑能否完美调用的,直接去NVIDIA官网查看亮机卡的最新驱动,支持4xx及以上的都能自动调用,最高391的只能强制调用,最高342的目前无法同时驱动P106,也就谈不上调用。 具体情况看表格: NV亮…

031、SQL语句之预编译

预编译 动态语句和SQL注射 构建SQL语句都是字符串,TiDB把字符串编译为可执行的SQL语句 mysql> select * from s1; ------ | id | ------ | B | | B,C | ------ 2 rows in set (0.00 sec)mysql> delete from s1 where idB or BB; Query OK, 2 rows af…