在6发电机和异步运行实例分析

在6发电机和异步运行实例分析
本文阐述了发电机和异步操作在6。分享给您参考,如下:

发电机和异步操作

1发电机概念

发电机可以被理解为一个状态机(好像有很多国家的反应)和封装了一些内部状态。发电机的执行是一个旋转的对象可以被发电机产生的每一个国家。加*后的功能,你可以声明一个函数发生器。
功能* higenerator(){
yield'hi;
yield'es5;
回去!;
}
VaR HI = higenerator();
console.log(HI); / / higenerator { { { generatorstatus } }:暂停
console.log(hi.next()); / /对象{价值:hi
console.log(hi.next()); / /对象{价值:ES5
console.log(hi.next()); / /对象{价值:!

2.yield声明

因为由生成器函数返回遍历对象,只调用next()方法遍历下一个状态,它提供了一个暂停执行功能。每个执行下一个(),yield语句遇到停牌,并表达产量返回对象的值为值后;如果没有遇到产量,它返回的返回语句为对象的返回值;如果没有回报,它返回对象的值是未定义的。

3.next方法

下一个()方法可以接受一个参数,该参数将被视为最后一个收益率语句的返回值。
函数*添加(c,d){
var a=0;
a =屈服;
a =产量a + d;
返回
}
var加(1, 2);
console.log(总和); / /添加{ { { generatorstatus } }:暂停
console.log(sum.next()); / /对象{价值:1、做:假}
console.log(sum.next()); / /对象{价值:楠:假}
console.log(sum.next()); / /对象{价值:定义,完成:true}

如果未传递下一个(),则下一步将无法完成。
函数*添加(c,d){
var a=0;
a =屈服;
a = a + d + 1;
返回
}
var加(1, 2);
console.log(总和); / /添加{ { { generatorstatus } }:暂停
console.log(sum.next()); / /对象{价值:1、做:假}
console.log(sum.next(1)); / /对象{价值:4、做:假}
Console.log (sum.next (3)); //Object {value: undefined, done: true}

4。为……遍历发电机…

当你为……遍历发电机时…您不需要显示下一个调用()方法。

5。的ergodicer对象由发电机产生函数调用返回的方法,以及对象的属性的值是收益法的参数。

6。另一个生成器函数在一个生成器函数中调用。

希望本文有助于ECMAscript程序设计。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部