//模拟获取用户数据 订单数据和商品数据
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();