发表日期: 2021-05-07 15:32:53 浏览次数:69
伊川申请400电话费用【伊川企业全国热线电话办理】伊川开通400电话电信价格、伊川微信公众号代运营外包托管、伊川网店编辑装修美工、伊川网站推广优化大概需要多少钱
伊川县位于河南省,北依十三朝 [1] 古都洛阳,南与嵩县一衣带水,西与宜阳县接壤 [2] 。伊川县地处豫西浅山丘陵区,现辖辖12镇1乡2个街道办事处,359个行政村10个城市社区,1个省级产业集聚区,总面积1243平方千米, [3] 总人口85万人 [4] ,是省委、省政府确定的23个首批对外开放重点县、35个扩权县之一。
伊川县先后荣获全国科技工作先进县、全国残疾人工作先进县、国家级生态示范区建设先进县、河南省省县域经济发展先进县、河南省红旗渠精神杯、省级双拥模范县、河南省老龄工作先进县、省级园林县等荣誉称号,被省政府确定为全省首批对外开放重点县。 [5]
2019年5月9日,经省级专项评估检查,达到脱贫摘帽标准,正式退出贫困县序列。 [6] 2020年7月29日,入选2019年重新确认国家卫生乡镇(县城)名单。 [7]
2019年,伊川县实现地区生产总值419.6亿元,比上年增长8.2%;完成财政一般预算收入24.2亿元,增长8.1%;社会消费品零售总额240.4亿元,增长11.1%,综合实力位列中部县域经济百强第42位。 [8]
一、yield传参
例如下面的generator方法:
<script type="text/javascript">
function *show(){
alert('a');
let a=yield;
alert('b');
alert(a);
}
let genObj = show();
genObj.next(111);
genObj.next(222);
</script>
我们可以在执行的generator对象的next方法中传入参数,这个参数就会传递至yield。yield接收参数也很简单,直接获取返回值就可以。
上面的函数执行后,最后一个alert得到的结果是“222”:
为什么呢?我们来剖析一下程序的整个执行过程。下面蓝色区域的内容,是在实行第一次next方法的时候实行的,红色区域是在执行第二次next方法的时候执行的:
所以a的数据接收到的是第二个next传入的参数“222”。所以这里我们得出一个结论,在进行next传参的时候,第一个next方法的参数传入是无用的(说白了,第一个next是用来启动生成器的)。
总结一下,yield传参就像是做菜一样,各个yield分割开的方法体,就是一个做菜过程中的一步,前一个做菜方法的结果,是下一个做菜方法的输入(图片由kaikeba.com提供,主讲老师石川(Blue)):
二、yield返回
我们编写一个实例,看看yield的返回是什么样的:
<script type="text/javascript">
function *show(){
alert('a');
yield 12;
alert('b');
return 34;
}
let genObj = show();
let res1 = genObj.next();
console.log(res1); //{value:12,done:false}
let res2 = genObj.next();
console.log(res2); //{value:34,done:false}
</script>
该函数执行的结果,两个console分别显示的结果如下:
实际上这里的yield充当了方法中断时的return,允许方法在中断暂停的时候,也可以返回一个结果数据,方便我们在执行下一个方法的时候,需要用到上个方法的结果去处理一些东西。
三、yield到底是什么
讲了那么多,可能很多童鞋还不彻底清楚yield到底是个什么东西,这里我们使用上面的洗菜的实例,为大家形象的类比一下:
<script type="text/javascript">
function *炒菜(菜市场买回来的菜){
洗菜->洗好的菜;
let 干净的菜=yield 洗好的菜;
干净的菜->切->丝;
let 切好的菜=yield 丝;
切好的菜->炒->熟的菜;
return 熟的菜;
}
let genObj = show(菜市场买回来的菜);
let res1 = genObj.next();
/*res1.value是洗好的菜,方法外可以做一些其他的操作,例如让老婆看看干不干净等... */
let res2 = genObj.next(res1.value);
/*res2.value是切好的菜,方法外可以做一些其他的操作,例如去拿儿子刚买过来的盐去简单腌制一下丝...*/
let res3 = genObj.next(res2.value);
//res3.value是最终的“熟的菜”
</script>
这里我们可以理解yield是一个暂停动作,这个暂停动作可以接受上一步的结果作为参数,也可以额将这一阶段执行的结果返回给外部。上面整个做菜过程,是可以临时掺杂其他的事情的,这就是yield的最大作用。
了解了yield之后,更能理解generator的存在意义。实际上它和promise一样,是用来解决函数异步调用的。我们下一篇来编写generator实例,来实际应用它。
伊川申请400电话费用【伊川企业全国热线电话办理】伊川开通400电话电信价格、伊川微信公众号代运营外包托管、伊川网店编辑装修美工、伊川网站推广优化大概需要多少钱
备案号: 苏ICP备11067224号
CopyRight © 2011 书生商友信息科技 All Right Reserved
24小时服务热线:400-111-6878 E-MAIL:1120768800@qq.com QQ:1120768800
网址: https://www.768800.com 网站建设:上往建站
关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|
企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|
400电话办理| 书生商友软件| 葬花网| 调温纤维| 海洋馆运营维护| 北京保安公司| 殡仪馆服务| 殡葬服务| 昌平殡葬| 朝阳殡葬|
欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系
服务热线:400-111-6878