//模拟获取用户数据 订单数据和商品数据 function getUsers() { setTimeout(() => { let data = "用户数据"; //调用nexxt方法,并且将数据传入 iterator.next(data); }, 1000); } function getOrders(params) { setTimeout(() => { let data = "订单数据"; //调用nexxt方法,并且将数据传入 iterator.next(data); }, 1000); } function getGoods(params) { setTimeout(() => { let data = "商品数据"; //调用nexxt方法,并且将数据传入 iterator.next(data); }, 1000); } //由于以上三种数据在现实中存在关联度,所以需要按顺序进行调用,按照直接列出函数调用在实际中是获取不到数据的 function* gen() { let users = yield getUsers(); console.log(users); let orders = yield getOrders(); console.log(orders); let goods = yield getGoods(); console.log(goods); } //调用生成器函数 let iterator = gen(); iterator.next();
标签:function,ES6,函数,iterator,数据,生成器,next,let,data From: https://www.cnblogs.com/xiaobaizitaibai/p/16820783.html