//需求:异步获取用户、订单、商品数量
function users(){
let user=setInterval(function(){
//获取数据
let data=‘用户数据’
//将data传进本次.next()方法 作为上一次调用iterator返回的(yield users()语句)的结果
iterator.next(data)
//清除定时器
clearInterval(user)
},1000)
}
function orders(){
let orders=setInterval(function(){
let data=‘订单数据’
iterator.next(data)
clearInterval(orders)
},1000)
}
function goods(){
let goods=setInterval(function(){
let data=‘货品数量’
iterator.next(data)
clearInterval(goods)
},1000)
}
function * gen(){
let user=yield users()
console.log(user)
let order=yield orders()
console.log(order)
let good=yield goods()
console.log(good)
}
let iterator=gen()
//启动生成器
iterator.next()//第一次调用