From 22665e7efc6f5345e0e2d2d3e8d609fc44fe0baa Mon Sep 17 00:00:00 2001 From: ruanyf Date: Fri, 20 Sep 2019 22:12:44 +0800 Subject: [PATCH] docs(generator): fix #910 --- docs/generator.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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() 的共同点