generator实现伪同步

Posted yzd

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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=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实现伪同步的主要内容,如果未能解决你的问题,请参考以下文章

chapter15中使用generator来实现异步化操作的同步化表达的例子

mvn命令异常:An error has occurred in Javadoc report generation: Unable to find javadoc command异常已解决(代码片段

mvn命令异常:An error has occurred in Javadoc report generation: Unable to find javadoc command异常已解决(代码片段

[React Testing] Use Generated Data in Tests with tests-data-bot to Improve Test Maintainability(代码片段

初识Generator和Async函数

同步对象的伪代码