标签:黄灯 面试题 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,红绿灯,打印,绿灯,红灯,变成 来源: https://www.cnblogs.com/mochenxiya/p/16609300.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。