es6 genarote
时间: 2024-06-15 08:09:58 浏览: 181
ES6中的Generator是一种特殊的函数,它可以在执行过程中暂停和恢复。通过使用`function*`关键字定义一个Generator函数,可以使用`yield`关键字来暂停函数的执行,并返回一个中间结果。下次调用时,可以从上次暂停的地方继续执行。
Generator函数的特点如下:
1. 使用`function*`定义,函数体内部可以包含多个`yield`语句。
2. 调用Generator函数并不会立即执行,而是返回一个迭代器对象。
3. 通过调用迭代器对象的`next()`方法来执行Generator函数,每次调用都会执行到下一个`yield`语句,并返回一个包含`value`和`done`属性的对象。
4. `yield`语句可以返回一个值,并且可以接收外部传入的值。
以下是一个简单的示例代码,展示了如何使用Generator函数:
```javascript
function* myGenerator() {
yield 'Hello';
yield 'World';
yield '!';
}
const gen = myGenerator();
console.log(gen.next()); // { value: 'Hello', done: false }
console.log(gen.next()); // { value: 'World', done: false }
console.log(gen.next()); // { value: '!', done: false }
console.log(gen.next()); // { value: undefined, done: true }
```
阅读全文