javascript如何实现红绿灯
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,本篇内容介绍了"javascript如何实现红绿灯"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!ja
千家信息网最后更新 2025年02月03日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安全错误
数据库的锁怎样保障安全
软件开发项目开始前的准备工作
java如何连接数据库教程
如何加强网络安全培训心得
易安卓数据库 命令
互联网科技板块
云服务器安全组入站规则
oracle数据库cmd
调研居民网络安全意识
上海科技网络安全
数据库表格只打印第一列
数据库技术分析检验
服务器网络安全检测内容
把列数据改为行数据库
静安区市场软件开发业务流程
网络安全公司技术部的职责
网络安全留学性价比学校
中信软件开发收入
笔记本显示器做服务器显示器
江西万安网络安全宣传报道
网络技术方面的权威
国外文学数据库
通信网络技术工程
战地3连接服务器失败
用友u8 后台数据库地址
关于网络安全的绘画一等奖
网络安全公司战略定位
上海电子软件开发销售电话
英雄联盟lol服务器
国风网络技术有限公司电话
数据库mysql技术与应用答案