JavaScript 将值发送到生成器
示例
通过将值传递给生成器,可以将其发送给生成器next()。
function* summer() { let sum = 0, value; while (true) { //接收发送的值 value = yield; if (value === null) break; //汇总值 sum += value; } return sum; } let generator = summer(); // proceed until the first "yield" expression, ignoring the "value" argument generator.next(); // from this point on, the generator aggregates values until we send "null" generator.next(1); generator.next(10); generator.next(100); //关闭发电机并收集结果 let sum = generator.next(null).value; //111