首页 > 其他 > 详细

generator实现伪同步

时间:2017-05-29 09:19:39      阅读:317      评论:0      收藏:0      [点我收藏+]
 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实现伪同步

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!