ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

es6 生成器

2022-09-16 14:32:10  阅读:308  来源: 互联网

标签:function es6 console log iterator 生成器 next let


//生成器
function getUser(){
setTimeout(()=>{
let data = '涛涛';
//第二次的next() 执行可以返回第一次的执行的结果
iterator.next(data)
}, 1000)
}

function getOrder(){
setTimeout(()=>{
let order = '订单'
iterator.next(order)
},1000)
}

function getGoods(){
setTimeout(function(){
let goods = '商品'
iterator.next(goods)
}, 1000)
}

function getEnd(){
console.log('end')
setInterval(() => {
iterator.next()
}, 1000);
}

//生成器函数
function * product(){
let user = yield getUser();
console.log(user); //第二次的执行next 返回了第一次执行后的结果 = 涛涛
let order = yield getOrder();
console.log(order); //第三次执行next ,返回了第二次执行后的结果 =订单
let goods = yield getGoods();
console.log(goods) //第四次执行next ,返回了第三次执行后的结果 = 商品
let end = yield getEnd();
console.log(end); //undifined
}

let iterator = product()
iterator.next();

 

标签:function,es6,console,log,iterator,生成器,next,let
来源: https://www.cnblogs.com/qutao125/p/16699751.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有