关于javascript:ES6之生成器

39次阅读

共计 561 个字符,预计需要花费 2 分钟才能阅读完成。

ES6 生成器:一种非凡的函数 / 异步编程 / 函数代码分隔符

function getUserData() {setTimeout(() => {
        const data = '用户数据'
        iterator.next(data);
    }, 1000)
}

function getOrderData() {setTimeout(() => {
        const data = '订单数据'
        iterator.next(data);
    }, 1000)
}

function getGoodData() {setTimeout(() => {
        const data = '商品数据'
        iterator.next(data);
    }, 1000)
}

function * gen() {// 第二次调用 next() 传入的参数作为第一个 yield 函数执行的返回值
    const userData = yield getUserData();
    console.log(userData);
    const orderData = yield getOrderData();
    console.log(orderData);
    const goodData = yield getGoodData();
    console.log(goodData);
}

let iterator = gen();
iterator.next();
// (1s 后) 用户数据
// (1s 后) 订单数据
// (1s 后) 商品数据 

正文完
 0