JavaScript生成器是用function*声明的特殊函数,调用后返回迭代器,通过yield暂停/恢复执行并双向通信;适用于惰性计算、异步流程控制和状态机建模。

JavaScript生成器是一种特殊函数,能暂停和恢复执行,适合处理异步流程、大数据流或需要按需计算的场景。它的核心是yield关键字——它不是简单返回值,而是把函数执行“冻结”在当前点,交出控制权,等下次调用再从这里继续。
生成器函数怎么定义?
用function*语法声明(星号可紧贴function或函数名),调用后不立即执行,而是返回一个迭代器对象:
示例:
function* count() {
yield 1;
yield 2;
return 3;
}
const it = count(); // 不执行,只创建迭代器
console.log(it.next()); // { value: 1, done: false }
console.log(it.next()); // { value: 2, done: false }
console.log(it.next()); // { value: 3, done: true }
登录后复制
yield如何暂停与恢复?
yield像一个双向通信断点:
立即学习“Java免费学习笔记(深入)”;
标签: javascript java go 大数据 ai
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~