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

edit index.html

This commit is contained in:
ruanyf 2015-12-22 16:28:25 +08:00
parent 957dcd186e
commit 61d7165df9
3 changed files with 11 additions and 11 deletions

View File

@ -98,22 +98,22 @@ Promise 的最大问题是代码冗余原来的任务被Promise 包装了一
举例来说,读取文件的协程写法如下。
```javascript
function asnycJob() {
function *asnycJob() {
// ...其他代码
var f = yield readFile(fileA);
// ...其他代码
}
```
上面代码的函数asyncJob是一个协程它的奥妙就在其中的yield命令。它表示执行到此处执行权将交给其他协程。也就是说yield命令是异步两个阶段的分界线。
上面代码的函数`asyncJob`是一个协程,它的奥妙就在其中的`yield`命令。它表示执行到此处,执行权将交给其他协程。也就是说,`yield`命令是异步两个阶段的分界线。
协程遇到 yield 命令就暂停等到执行权返回再从暂停的地方继续往后执行。它的最大优点就是代码的写法非常像同步操作如果去除yield命令简直一模一样。
协程遇到`yield`命令就暂停等到执行权返回再从暂停的地方继续往后执行。它的最大优点就是代码的写法非常像同步操作如果去除yield命令简直一模一样。
### Generator函数的概念
Generator函数是协程在ES6的实现最大特点就是可以交出函数的执行权即暂停执行
整个Generator函数就是一个封装的异步任务或者说是异步任务的容器。异步操作需要暂停的地方都用yield语句注明。Generator函数的执行方法如下。
整个Generator函数就是一个封装的异步任务或者说是异步任务的容器。异步操作需要暂停的地方都用`yield`语句注明。Generator函数的执行方法如下。
```javascript
function* gen(x){

View File

@ -227,7 +227,7 @@ var baz = { [foo]: 'abc'};
```javascript
var person = {
sayName: function() {
sayName() {
console.log(this.name);
},
get firstName() {

View File

@ -8,6 +8,12 @@
<title>ECMAScript 6入门</title>
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
<link rel="icon" href="/favicon.ico" type="image/x-icon">
<script src="js/jquery-1.11.0.min.js"></script>
<script src="js/jquery-ui.min.js"></script>
<script src="js/marked.js"></script>
<script src="js/store.js"></script>
<script src="js/ditto.js"></script>
<script src="js/prism.js"></script>
</head>
<body>
<!-- essential -->
@ -21,12 +27,6 @@
<div id="flip"><div id="pageup">上一章</div><div id="pagedown">下一章</div></div>
<div class="progress-indicator-2"></div>
<script src="js/jquery-1.11.0.min.js"></script>
<script src="js/jquery-ui.min.js"></script>
<script src="js/marked.js"></script>
<script src="js/store.js"></script>
<script src="js/ditto.js"></script>
<script src="js/prism.js"></script>
<script src="config.js"></script>
<script>
ditto.run();