promise-红黄绿灯
2019-10-31 本文已影响0人
lucky_果果
思路:封装一个promise,执行灯亮,再设置settimeout,几秒后再执行该promise。
1、代码截图:
2、代码:
var lightFlag = 0;
function changeLight(color,time){
// let lightFlag;
return new Promise((sol,rej)=>{
console.log(`${color}灯亮了`);
lightFlag =setTimeout(sol,time);
});
}
function controlLight(){
changeLight('red',3000).then(function(){
clearTimeout(lightFlag);
return changeLight('green',2000);
}).then(function(){
clearTimeout(lightFlag);
return changeLight('yellow',1000);
}).then(function(){
clearTimeout(lightFlag);
// controlLight();
})
}
controlLight();