// 妙用一
function first() {
setTimeout(() => {
interat.next('第一次')//传递参数作为 回调结果给第一次调用的人,
// 并且再次调用interat 的下一个 yield 的后面代码块
}, 1000)
}
function two(f) {
setTimeout(() => {
// console.log(222)
console.log(f, 'aaas')
interat.next('第二次', f)
}, 2000)
}
function three() {
setTimeout(() => {
// console.log(333)
interat.next('第三次')
}, 3000)
}
function* gen() {
let f = yield first()
console.log(f)
let t = yield two(f)//可以传参
console.log(t)
let th = yield three()
console.log(th)
}
let interat = gen()
interat.next() //第一次调用gen 执行第一个yield
// 妙用一 end
console