javascript如何实现红绿灯
发表于:2024-09-30 作者:千家信息网编辑
千家信息网最后更新 2024年09月30日,本篇内容介绍了"javascript如何实现红绿灯"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!ja
千家信息网最后更新 2024年09月30日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安全错误
数据库的锁怎样保障安全
计算机网络技术会掉头发吗
计算机网络技术专业题目
医患关系数据库
跑数据库对服务器的要求
delphi数据库备份工具
企业级数据库优化
软件开发专业学习方向
软件开发的就业前景和就业方向
inspec是文摘数据库吗
网络安全和领导小组职责
金砖会议网络安全
游戏用云服务器的IP安全吗
专业计算机软件开发怎么收费
一个服务器为什么会崩
网络安全三个分区
湖州网络安全准入控制公司
网络安全方面专家
数据库文件丢失如何恢复
江阴asus服务器维修服务
生动的网络安全故事昆明
服务器模型和点对点模型
夏末网络技术博客
国内营养相关数据库
前端从远程服务器下载文件
lol下棋要一个服务器吗
陈鑫杰简介 网络安全
网络安全知识竞赛报道
股价提醒软件开发
软件开发 合同违约通知书
mysql如何查看数据库表索引