1
0
mirror of https://github.com/ruanyf/es6tutorial.git synced 2025-05-25 03:02:21 +00:00

edit generator/coroutine

This commit is contained in:
Ruan Yifeng 2015-04-13 08:28:58 +08:00
parent 4fdbf979b5
commit d01be006d1

View File

@ -712,6 +712,8 @@ var clock = function*(_) {
Generator函数是ECMAScript 6对协程的实现但属于不完全实现。Generator函数被称为“半协程”semi-coroutine意思是它还要借助yield语句将执行权给它的调用者。执行权可以发生转移的地方都要靠yield语句注明没有yield语句的地方执行权就不能转移。完全实现的协程没有yield语句任意位置都可以暂停将执行权转移出去。
如果将Generator函数当作协程完全可以将多个需要互相协作的任务写成Generator函数它们之间使用yield语句交换控制权。
## 应用
Generator可以暂停函数执行返回任意表达式的值。这种特点使得Generator有多种应用场景。