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();

上一篇下一篇

猜你喜欢

热点阅读