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后) 商品数据