javascript如何实现红绿灯
发表于:2025-11-18 作者:千家信息网编辑
千家信息网最后更新 2025年11月18日,本篇内容介绍了"javascript如何实现红绿灯"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!ja
千家信息网最后更新 2025年11月18日javascript如何实现红绿灯
本篇内容介绍了"javascript如何实现红绿灯"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
javascript实现红绿灯的方法:1、使用setTimeout和递归来实现循环改变颜色;2、使用Promise,并把下一次的颜色改变写在then里面;3、使用async await和while实现红绿灯效果。
本教程操作环境:windows7系统、javascript1.8.5版本、Dell G3电脑。
javascript怎么实现红绿灯?
JavaScript 实现红绿灯
使用setTimeout、Promise、async await 三种方式实现红绿灯代码,红灯2秒,黄灯1秒,绿灯3秒,循环改变颜色。改变颜色的方法,就简单写成打印出颜色。
setTimeout实现
使用setTimeout是最基本的实现方式,代码如下,使用递归来实现循环改变颜色。
function changeColor(color) {console.log('traffic-light ', color);}function main() {changeColor('red');setTimeout(()=>{changeColor('yellow');setTimeout(() => {changeColor('green');setTimeout(main, 2000);}, 1000);}, 2000);}main();Promise 实现
使用Promise,把下一次的颜色改变写在then里面,最后同样使用递归完成循环。
function sleep(duration){ return new Promise(resolve => { setTimeout(resolve, duration); })}function changeColor(duration,color){ return new Promise(resolve => {console.log('traffic-light ', color); sleep(duration).then(resolve);})}function main() {return new Promise(resolve => {changeColor(2000, 'red').then(() => {changeColor(1000, 'yellow').then(() => {changeColor(3000, 'green').then(() => {main();})})})})}main();async await 实现
使用async await就可以避免Promise的一连串.then.then.then,也不再需要递归,使用while就可以实现循环。
function sleep(duration) {return new Promise(resolve => {setTimeout(resolve, duration);})}async function changeColor(color, duration) {console.log('traffic-light ', color);await sleep(duration);}async function main() {while (true) {await changeColor('red', 2000);await changeColor('yellow', 1000);await changeColor('green', 3000);}}main();"javascript如何实现红绿灯"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
红绿灯
颜色
循环
递归
代码
内容
方式
方法
更多
知识
实用
一连串
学有所成
接下来
困境
实际
情况
效果
教程
文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
电脑系统服务器快捷键
软件开发vs机械设计
iis服务器管理控制树
蓝博网络技术 长沙
崇明区环保网络技术销售公司
附加数据库失败948
手机设置网络安全宣传周
同一数据库表怎么复制粘贴
以色列网络安全大会2020
网络安全知识总结网信办
重装系统后税控连接服务器失败
怎样才能学好计算机软件开发
网络安全工程师前景一
数据库原理及应用教程答案修订版
服务器质量排名
国网公司网络安全责任制度
软件开发助理好干吗
数据库之数据类型
大逃杀服务器忙
数据库面试题软件测试
网络安全防诈知识手抄报好看
郑州升达网络技术工作室
国内被称为数据库之父
郑州网动网络技术有限公司
服务器电源转1atx
软件开发团队如何有效沟通
天翼云服务器无法连接
网络安全事件分离分类
软件开发t系列还是x系列
促进数据库建设的实施意见