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后) 商品数据
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。