1
0
mirror of https://github.com/ruanyf/es6tutorial.git synced 2025-05-29 05:42:20 +00:00

docs(generator): edit style

This commit is contained in:
ruanyf 2020-11-25 07:24:09 +08:00
parent ff4778487c
commit 584d5d9332

View File

@ -667,7 +667,7 @@ log(g());
## Generator.prototype.return() ## Generator.prototype.return()
Generator 函数返回的遍历器对象,还有一个`return`方法,可以返回给定的值,并且终结遍历 Generator 函数。 Generator 函数返回的遍历器对象,还有一个`return()`方法,可以返回给定的值,并且终结遍历 Generator 函数。
```javascript ```javascript
function* gen() { function* gen() {
@ -683,9 +683,9 @@ g.return('foo') // { value: "foo", done: true }
g.next() // { value: undefined, done: true } g.next() // { value: undefined, done: true }
``` ```
上面代码中,遍历器对象`g`调用`return`方法后,返回值的`value`属性就是`return`方法的参数`foo`。并且Generator 函数的遍历就终止了,返回值的`done`属性为`true`,以后再调用`next`方法,`done`属性总是返回`true` 上面代码中,遍历器对象`g`调用`return()`方法后,返回值的`value`属性就是`return()`方法的参数`foo`。并且Generator 函数的遍历就终止了,返回值的`done`属性为`true`,以后再调用`next()`方法,`done`属性总是返回`true`
如果`return`方法调用时,不提供参数,则返回值的`value`属性为`undefined` 如果`return()`方法调用时,不提供参数,则返回值的`value`属性为`undefined`
```javascript ```javascript
function* gen() { function* gen() {
@ -700,7 +700,7 @@ g.next() // { value: 1, done: false }
g.return() // { value: undefined, done: true } g.return() // { value: undefined, done: true }
``` ```
如果 Generator 函数内部有`try...finally`代码块,且正在执行`try`代码块,那么`return`方法会导致立刻进入`finally`代码块,执行完以后,整个函数才会结束。 如果 Generator 函数内部有`try...finally`代码块,且正在执行`try`代码块,那么`return()`方法会导致立刻进入`finally`代码块,执行完以后,整个函数才会结束。
```javascript ```javascript
function* numbers () { function* numbers () {