es6 generator
时间: 2023-08-09 18:07:25 浏览: 116
ES6 Generator 是 JavaScript 中的一个特殊类型的函数,它可以在函数执行过程中暂停和恢复。使用 `function*` 定义一个 Generator 函数,并使用 `yield` 关键字来指示函数的执行状态。
Generator 函数可以通过调用 `next()` 方法来逐步执行。每次调用 `next()` 方法,函数会执行到下一个 `yield` 关键字处,并返回一个包含当前状态信息的对象。这个对象包含两个属性:`value` 和 `done`。`value` 属性表示当前 `yield` 表达式的返回值,而 `done` 属性表示函数是否已经执行完毕。
以下是一个简单的示例,演示了如何使用 Generator 函数创建一个递增的计数器:
```javascript
function* counter() {
let count = 0;
while (true) {
yield count++;
}
}
const generator = counter();
console.log(generator.next().value); // 输出: 0
console.log(generator.next().value); // 输出: 1
console.log(generator.next().value); // 输出: 2
// ...
```
在上面的示例中,每次调用 `generator.next().value`,计数器都会递增,并返回当前的计数值。
Generator 函数是一种强大的工具,它可以用于实现异步编程、迭代器和解决复杂的控制流问题。你可以在编写 JavaScript 代码时使用 Generator 函数来提供更灵活和可读性更高的解决方案。
阅读全文