首页 > 代码库 > generator实现伪同步

generator实现伪同步

 1 var getFun=function(value){
 2     return function(callback){
 3     setTimeout(function(){
 4         callback(value);
 5     },1000);
 6  };
 7 }
 8 
 9 ;+function(gen){
10 var next=gen();
11 function nextyield(result){
12     var item=next.next(result),value;
13     if(item.done) return;
14     value=http://www.mamicode.com/item.value;
15     //console.log(typeof value);
16     if(typeof valuehttp://www.mamicode.com/=="function"){ 
17       value(nextyield); 
18       return;
19     }
20     nextyield(value);
21 }
22 nextyield();
23 
24 }(function *(){
25 
26     var a=yield getFun(10);
27     console.log(a);
28     var b=yield 3;
29     var c=yield 2;
30     var d=yield getFun(15)
31     console.log(d);
32     console.log(a+b+c+d);
33 })

 

generator实现伪同步