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>