SOURCE

console 命令行工具 X clear

                    
>
console
{
  // 抽奖
  let draw = function(count){
    console.log(`剩余${count}次`);
  }
  let redue = function* (count){
    while(count>0){
      count--;
      yield draw(count);
    }
  }
  let start = redue(5);
  let btn = document.getElementById('btn');
  console.log(btn);
  btn.addEventListener('click',function(){
    start.next();
  },false);
}
{
  //长轮训
  let ajax = function* (){
    return new Promise((resolve,reject)=>{
      setTimeout(function(){
        resolve({code:0});
      },200)
    })
  }
    let pull = function(){
    let genertor = ajax();
    let step = genertor.next();
     step.value.then(item=>{
       if(item.code!=0){
         setTimeout(()=>{
           console.log('wait');
           pull();
         },1000)
       }else{
         console.info(item);
       }
     })
  }
    pull();

}
<button id='btn'></button>