js版 实现红绿灯
题目:
默认情况下,红灯亮20秒,并且最后5秒闪烁绿灯亮20秒,并且最后5秒闪烁黄灯亮10秒,
次序为:红-绿-黄-红-绿-黄
灯的个数、颜色、持续时间、闪烁时间、灯光次序都可配置,如:lights=[{color: ‘#fff’, duration: 10000, twinkleDuration: 5000}, … ]
js版
function sleep(duration) {
return new Promise((resolve) => {
setTimeout(resolve, duration);
});
}
async function changeLight(color, duration) {
console.log(color);
await sleep(duration);
}
async function trafficLight() {
await changeLight('green', 10000);
await changeLight('yellow', 2000);
await changeLight('red', 5000);
trafficLight();
}
trafficLight();
React版
interface LightConfig {
color