Java教程

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();

 

这篇关于es6 生成器的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!