generator 生成器
generator 函数 中间可以暂停(普通函数一路走到黑)
*fun 加 *
next()方法,运行一次执行一步
// 传参
function *fun(num){
alert(num);
let value = yield;
alert(value); // 弹出 88
}
let gen = fun(88);
gen.next(); // 第一次无需传参
gen.next(20);
// 返回值
function *fun(num){
alert(num);
let value = yield 12;
return 88;
}
let gen = fun(88);
var res1 = gen.next(); // 返回 {value:12,done:false} ,false表示未完成
var res2 = gen.next(20); // 返回 {value:88,done:true} ,true表示未完成
网友评论