首页 > 其他分享 >【面试题】循环打印红绿灯

【面试题】循环打印红绿灯

时间:2022-08-21 08:44:12浏览次数:80  
标签:黄灯 面试题 resolve return 红绿灯 打印 绿灯 红灯 变成

循环打印红绿灯

点击打开视频讲解更加详细

红灯3秒后变成绿灯
绿灯5秒后变成黄灯
黄灯2秒后变成红灯

案例:

<template>
  <div id="app">
    <div>循环打印红绿灯</div>

    <div>红灯3秒后变成绿灯</div>
    <div>绿灯5秒后变成黄灯</div>
    <div>黄灯2秒后变成红灯</div>
  </div>
</template>

<script>
export default {
  name: 'App',
  data(){
    return {
        
    } 
  },
  mounted() {
    // this.red()
    this.light()
  },
  methods:{
    //红灯
    red(){
      return new Promise((resolve) => {
        console.log('当前是红灯,3秒后变成绿灯')
        setTimeout(() => {
          const geeenPromise = this.geeen()
          resolve(geeenPromise)
        },3000)
      })
    },
    //绿灯
    geeen(){
      return new Promise((resolve) => {
        console.log('当前是绿灯,5秒后变成黄灯')
        setTimeout(() => {
          const yellowPromise = this.yellow()
          resolve(yellowPromise)
        },3000)
      })
    },
    //黄灯
    yellow(){
      return new Promise((resolve) => {
        console.log('当前是黄灯,2秒后变成红灯')
        setTimeout(() => {
          const redPromise = this.red()
          resolve(redPromise)
        },3000)
      })
    },

    //封装公共方法
    timer(color,delay,next){
      return new Promise((resolve) => {
        console.log(`当前是${color}灯,${delay}秒后变成${next}灯`)
        setTimeout(() => {
          resolve()
        },delay * 1000)
      })
    },
    async light(){
      await this.timer('红',3,'绿')
      await this.timer('绿',5,'黄')
      await this.timer('黄',2,'红')
      await this.light()
    },
  }
}
</script>

<style scoped>
 
</style>

效果:
在这里插入图片描述
点击打开视频讲解更加详细

标签:黄灯,面试题,resolve,return,红绿灯,打印,绿灯,红灯,变成
From: https://www.cnblogs.com/mochenxiya/p/16609300.html

相关文章

  • 2022 Java 企业面试题汇总
    Java基础部分请列举至少三个JDK安装目录下的课程性程序(javac)请分析命题:“Java采用自动垃圾回收技术(GC),因此不会出现内存泄露”简单描述单子模式(单例模式)的各种不同实......
  • 打印出数组中的重复数, 重复几次
    <!--*@FilePath:重复次数.html*@Author:马小屁*@Date:2022-08-1917:24:16*@LastEditors:PleasesetLastEditors*@LastEditTime:2022-08-2020:04:4......
  • 【面试题】JSON.stringify()妙用,你真的知道吗?
    JSON.stringify()妙用点击打开视频讲解更加详细语法:JSON.stringify(value,replacer,space)value:将要序列化成一个JSON字符串的值。replacer(可选):如果该参数是一个......
  • 前端面试题
    1.函数柯里化柯里化就是将一个接收多个参数的函数转化为一系列使用一个参数的函数的技术。实现的效果就是:constfun=(a,b,c)=>{return[a,b,c]};//上述函数经......
  • sql-面试题
    TopN问题需要确定使用什么排名函数,包含三种函数:row_number()、rank()、dense_rank()每个班级的分数为前3名的学生--建表语句createtablescore(sidstring,classstr......
  • 面试题-三个与SQL相关的问题
    一、SQL语法总结(面试:你能记得有多少种SQL的语法)? 二、select语句的顺序。 三、多表关联中,on与where的区别。 四、左连接、右连接、内连接、交叉连接有什么区别,你在......
  • Vue面试题05:Vue中如何扩展一个组件(应用题)
    Vue中如何扩展一个组件按照逻辑扩展和内容扩展来列举逻辑扩展的方法:mixins、extends、compositionapi内容扩展的方法:slots使用方法、使用场景和问题混入:mixi......
  • 打印流_概述和使用
    PrintStream打印流PrintStream为其他输出流添加了功能,使他们能够方便地打印各种数据值表示形式PrintStream特点:只负责数据的输出,不负责数据的读取与其他输出流不同不......
  • Vue面试题04:双向数据绑定相关
    双向数据绑定使用和原理定义:vue中双向绑定就是指v-model指令,可以绑定一个响应式数据到视图,同时视图中变化能同步改变该值。v-model是语法糖,作用在表单项和自定义组件......
  • PYTHON实现倒三角打印
    目录需求数据展示最终结果实现效果代码原始版本1代码效率需求数据展示以空格分隔的990个数据最终结果实现效果代码发现我自己是真的喜欢暴力求解,当然昨天是因为有......