JavaScript Generators 概念
- 基本概念
- 生成器是一种特殊的函数
- 可以暂停执行并在之后恢复
- 使用
function*声明 - 使用
yield关键字暂停 - 可用于异步流程控制
- 基本用法
// Basic Generator
function* numberGenerator() {
yield 1;
yield 2;
yield 3;
}
const gen = numberGenerator();
console.log(gen.next()); // { value: 1, done: false }
console.log(gen.next()); // { value: 2, done: false }
console.log(gen.next()); // { value: 3, done: false }
console.log(gen.next()); // { value: undefined, done: true }
- async await 底层原理