diff --git a/docs/generator.md b/docs/generator.md index e08a149..c0683c6 100644 --- a/docs/generator.md +++ b/docs/generator.md @@ -700,7 +700,7 @@ g.next() // { value: 1, done: false } g.return() // { value: undefined, done: true } ``` -如果 Generator 函数内部有`try...finally`代码块,且正在执行`try`代码块,那么`return`方法会推迟到`finally`代码块执行完再执行。 +如果 Generator 函数内部有`try...finally`代码块,且正在执行`try`代码块,那么`return`方法会导致立刻进入`finally`代码块,执行完以后,整个函数才会结束。 ```javascript function* numbers () { @@ -722,7 +722,7 @@ g.next() // { value: 5, done: false } g.next() // { value: 7, done: true } ``` -上面代码中,调用`return`方法后,就开始执行`finally`代码块,然后等到`finally`代码块执行完,再执行`return`方法。 +上面代码中,调用`return()`方法后,就开始执行`finally`代码块,不执行`try`里面剩下的代码了,然后等到`finally`代码块执行完,再返回`return()`方法指定的返回值。 ## next()、throw()、return() 的共同点