在 JavaScript 中,yield
关键字可以与生成器函数(Generator Function)一起使用,以实现暂停和恢复函数执行。以下是一个简单的示例:
function* generatorFunction() {
console.log("开始");
yield 1;
console.log("中间");
yield 2;
console.log("结束");
}
const generator = generatorFunction(); // 创建生成器对象
console.log(generator.next()); // { value: 1, done: false }
console.log(generator.next()); // { value: 2, done: false }
console.log(generator.next()); // { value: undefined, done: true }
在上面的代码中,generatorFunction()
是一个生成器函数,使用 function*
声明。该函数内部通过 yield
关键字来定义需要暂停的地方。
通过调用 generatorFunction()
来创建一个生成器对象 generator
。然后我们可以多次调用 generator.next()
来启动或恢复函数的执行。每次调用都会返回一个对象,其中 value
属性表示当前 yield
表达式返回的值,而 done
属性表示函数是否已经执行完毕。
总之,在 JavaScript 中使用生成器函数和 yield
可以实现函数的暂停和恢复执行,这对于处理异步操作或迭代任务非常有用。
内容由零声教学AI助手提供,问题来源于学员提问