碎片時間學(xué)編程「287]:重復(fù)生成器

創(chuàng)建一個生成器,無限期地重復(fù)給定的值。
使用非終止while循環(huán),每次Generator.prototype.next()調(diào)用都會有一個 yield 值。
如果傳遞的值不是 yield ,則使用語句的返回值 undefined 更新返回值
JavaScript
const repeatGenerator = function* (val) { ?let v = val; ?while (true) { ? ?let newV = yield v; ? ?if (newV !== undefined) v = newV; ?}};
示例
const repeater = repeatGenerator(5);repeater.next(); // { value: 5, done: false }repeater.next(); // { value: 5, done: false }repeater.next(4); // { value: 4, done: false }repeater.next(); // { value: 4, done: false }
更多內(nèi)容請訪問我的網(wǎng)站:https://www.icoderoad.com
標簽: