欢迎光临散文网 会员登陆 & 注册

碎片时间学编程「287]:重复生成器

2023-03-20 12:22 作者:路条编程  | 我要投稿


创建一个生成器,无限期地重复给定的值。

  • 使用非终止while循环,每次Generator.prototype.next()调用都会有一个 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 }

更多内容请访问我的网站:https://www.icoderoad.com

碎片时间学编程「287]:重复生成器的评论 (共 条)

分享到微博请遵守国家法律