一、题目要求
使用promise实现红灯三秒,黄灯三秒,绿灯三秒的循环交替。
二、分析
根据题意,首先想到的是promise的链式调用,再通过使用settimeout异步操作完成红灯三秒,黄灯三秒,绿灯三秒的实现
三、代码实现
输出结果如下:
但我们发现如果按照上述发现代码书写的话,我们的红黄绿灯只能循环一次,并不能满足题干要求循环交替的情况,于是我们应该想到使用函数,通过调用函数本身来实现循环交替的现象,那么我们只需要将其整体包裹为一个traffic函数,在末尾调用本身就可以了,具体如下:
输出结果如下:
从而通过函数调用来实现了循环交替的实现