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:
parent
957dcd186e
commit
61d7165df9
@ -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){
|
||||
|
@ -227,7 +227,7 @@ var baz = { [foo]: 'abc'};
|
||||
|
||||
```javascript
|
||||
var person = {
|
||||
sayName: function() {
|
||||
sayName() {
|
||||
console.log(this.name);
|
||||
},
|
||||
get firstName() {
|
||||
|
12
index.html
12
index.html
@ -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();
|
||||
|
Loading…
x
Reference in New Issue
Block a user