其他分享
首页 > 其他分享> > es6 生成器

es6 生成器

作者:互联网

//生成器
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