iis服务器助手广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >JS面试异步模拟红绿灯实现详解
  • 726
分享到

JS面试异步模拟红绿灯实现详解

JS面试异步模拟红绿灯JS 异步面试 2023-01-10 12:01:14 726人浏览 薄情痞子
摘要

目录引言问题拆解代码设计引言 异步的问题是程序员绕不开的话题,无论在实际开发上还是在面试中,我们总会遇到各种头疼的问题,但是细细品味,其实这些问题总能拓展我们的思路,激发我们的思维能

引言

异步的问题是程序员绕不开的话题,无论在实际开发上还是在面试中,我们总会遇到各种头疼的问题,但是细细品味,其实这些问题总能拓展我们的思路,激发我们的思维能力。培养我们的高情商能力。

(我,我编不下去了)红绿灯模拟在异步问题上是经典中的经典,网络上的设计也是层出不穷,我将给大家呈现一款比较独特的设计。

问题拆解

红绿灯在我们日常生活是常见的,因此对于问题大家是容易理解的,我们此次需要考虑如何模拟红绿灯的无间断切换和轮询过程。

首先分析,我们可以通过while循环让红绿灯不间断循环,接住我们使用for await语法可以让红绿灯异步切换成同步的改变。

代码设计

//模拟异步请求资源
function loadSource (target) {
  return new Promise((resolve,reject)=>{
    setTimeout(() => {
      resolve(target.color)
    }, target.delay);
  })
}
//核心的红绿灯逻辑
async function lightTransfORM (lights) {
  while(true) {
    for(let i=0;i<lights.length;i++) {
      let res = await loadSource(lights[i])
      console.log(res)
    }
  }
}
//数据封装式的调用
lightTransform([
  {color:"red",delay:1000},
  {color:"green",delay:2000},
  {color:"yellow",delay:3000}
])

效果演示

核心讲解

其实整体的设计还是比较简单,我这里使用了数组对象对红绿灯进行了数据封装,为了模拟红绿灯的不间断转换使用while循环,内部为了让彼此进行循序渐进的交替变化,将异步的方式转换为同步代码块,此次使用的方法就是for await 完成的。

以上就是js面试异步模拟红绿灯实现详解的详细内容,更多关于JS面试异步模拟红绿灯的资料请关注编程网其它相关文章!

--结束END--

本文标题: JS面试异步模拟红绿灯实现详解

本文链接: https://www.lsjlt.com/news/177271.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作