1
0
mirror of https://github.com/ruanyf/es6tutorial.git synced 2025-05-24 10:22:23 +00:00

docs(generator): fix #910

This commit is contained in:
ruanyf 2019-09-20 22:12:44 +08:00
parent 95352fdf11
commit 22665e7efc

View File

@ -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() 的共同点