不带返回值的
function *show() {
alert('a'); // a
let a = yield;
alert('b'); // b
alert(a); // 5
}
let fun1 = show();
fun1.next(12); // 第一个next没法给yield传参
fun1.next(5); // 5
带返回值的
function *show1() {
alert('a');
yield;
alert('b');
return 55;
}
let gen = show1();
let res1 = gen.next();
//{value: undefined, done: false}
// done: false
// value: undefined
// __proto__: Object
console.log(res1);
// {value: 55, done: true}
// done: true
// value: 55
// __proto__: Object
let res2 = gen.next();
console.log(res2);