码迷,mamicode.com
首页 > 其他好文 > 详细

generator实现伪同步

时间:2017-05-29 10:00:34      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:func   return   next   eof   class   bsp   gen   typeof   color   

 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=item.value;
15     //console.log(typeof value);
16     if(typeof value=="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实现伪同步

标签:func   return   next   eof   class   bsp   gen   typeof   color   

原文地址:http://www.cnblogs.com/godghdai/p/6917139.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!