ES6:09-生成器
function * gen() {
console.log(“hello generator”);
// 函数代码的分隔符
yield ‘一直没有耳朵’;
console.log(2222);
yield ‘一直没有尾巴’;
console.log(33333);
yield '一直没有尾巴2 ';
}
for (let v of gen()) {
console.log(v);
}
//下面写法也可以
let iterator = gen();
console.log(iterator);
iterator.next();
iterator.next();
iterator.next();
//用于异步函数的调用:
function one() {
setTimeout(() => {
console.log(111);
iterator.next();
}, 1000)
}
function two() {
setTimeout(() => {
console.log(222);
iterator.next();
}, 2000)
}
function * gen() {
yield one();
yield two();
yield three()
}
// 调用生成器函数
let iterator = gen();
iterator.next();