ES6的Generator函数是一种特殊的函数,它可以在执行过程中暂停和恢复,通过yield关键字返回多个值。Generator函数可以用于异步编程、流式处理等场景,它提供了一种更加直观和简洁的方式来处理异步操作。
用途:
- 异步编程:Generator函数可以在执行过程中暂停,等待异步操作完成后再继续执行,避免了回调地狱的问题。
- 流式处理:Generator函数可以逐个处理数据流中的数据,而不需要一次性加载所有数据到内存中。
- 控制流程:Generator函数可以通过yield关键字控制函数的执行流程,实现更加灵活的控制逻辑。
示例:
function* generator() {
yield 'Hello';
yield 'World';
}
let gen = generator();
console.log(gen.next().value); // 输出 "Hello"
console.log(gen.next().value); // 输出 "World"