什么是生成器函数_javascript中yield关键字怎么用?

admin 百科 12
生成器函数用function定义,调用返回迭代器;yield交出控制权并返回值,next()可传参赋值给yield表达式;yield委托其他迭代器;常用于自定义迭代、异步处理、无限序列和状态机。

什么是生成器函数_javascript中yield关键字怎么用?-第1张图片-佛山资讯网

生成器函数是 JavaScript 中一种特殊函数,能**暂停和恢复执行**,适合处理异步流程、大数据流或需要按需计算的场景;yield 是它的核心关键字,用于**交出函数控制权并返回一个值**,下次调用时从暂停处继续。

生成器函数怎么定义和调用?

function*(星号紧贴 function)定义,调用时不立即执行,而是返回一个迭代器对象

示例:

function* count() {
  yield 1;
  yield 2;
  yield 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: false }
console.log(it.next()); // { value: undefined, done: true }

登录后复制

yield 怎么交出值并接收外部传入的值?

yield 表达式本身有返回值——即下一次 next(…) 调用时传入的参数。第一次 next() 传参无效(因无上一个 yield 等待接收):

立即学习“Java免费学习笔记(深入)”;

  • yield 1 → 返回 {value: 1, done: false},同时暂停
  • it.next('hello') → 'hello' 成为当前 yield 表达式的值,继续执行

常见写法:

标签: javascript java go 大数据 ai 可迭代对象 red

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~