es6,generator生成器获取用户数据案例

//需求:异步获取用户、订单、商品数量
function users(){
setTimeout(()=>{
let data=‘用户数据’
iterator.next(data)//将data数据传入上一个next()方法中作为yield的结果保存
},1000)
}
function orders(){
setTimeout(()=>{
let data=‘订单数据’
iterator.next(data)
},1000)
}
function goods(){
setTimeout(()=>{
let data=‘商品数据’
iterator.next(data)
},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()

你可能感兴趣的:(javascript)