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

docs: use let/const instead of var

This commit is contained in:
waiting 2017-09-24 16:55:15 +08:00
parent e61fa4c3ed
commit 7030c70270

View File

@ -9,9 +9,9 @@ async 函数是什么?一句话,它就是 Generator 函数的语法糖。
前文有一个 Generator 函数,依次读取两个文件。 前文有一个 Generator 函数,依次读取两个文件。
```javascript ```javascript
var fs = require('fs'); const fs = require('fs');
var readFile = function (fileName) { const readFile = function (fileName) {
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
fs.readFile(fileName, function(error, data) { fs.readFile(fileName, function(error, data) {
if (error) return reject(error); if (error) return reject(error);
@ -20,9 +20,9 @@ var readFile = function (fileName) {
}); });
}; };
var gen = function* () { const gen = function* () {
var f1 = yield readFile('/etc/fstab'); const f1 = yield readFile('/etc/fstab');
var f2 = yield readFile('/etc/shells'); const f2 = yield readFile('/etc/shells');
console.log(f1.toString()); console.log(f1.toString());
console.log(f2.toString()); console.log(f2.toString());
}; };
@ -31,9 +31,9 @@ var gen = function* () {
写成`async`函数,就是下面这样。 写成`async`函数,就是下面这样。
```javascript ```javascript
var asyncReadFile = async function () { const asyncReadFile = async function () {
var f1 = await readFile('/etc/fstab'); const f1 = await readFile('/etc/fstab');
var f2 = await readFile('/etc/shells'); const f2 = await readFile('/etc/shells');
console.log(f1.toString()); console.log(f1.toString());
console.log(f2.toString()); console.log(f2.toString());
}; };
@ -75,8 +75,8 @@ asyncReadFile();
```javascript ```javascript
async function getStockPriceByName(name) { async function getStockPriceByName(name) {
var symbol = await getStockSymbol(name); const symbol = await getStockSymbol(name);
var stockPrice = await getStockPrice(symbol); const stockPrice = await getStockPrice(symbol);
return stockPrice; return stockPrice;
} }
@ -318,9 +318,9 @@ async function f() {
```javascript ```javascript
async function main() { async function main() {
try { try {
var val1 = await firstStep(); const val1 = await firstStep();
var val2 = await secondStep(val1); const val2 = await secondStep(val1);
var val3 = await thirdStep(val1, val2); const val3 = await thirdStep(val1, val2);
console.log('Final: ', val3); console.log('Final: ', val3);
} }
@ -503,7 +503,7 @@ function fn(args) {
```javascript ```javascript
function spawn(genF) { function spawn(genF) {
return new Promise(function(resolve, reject) { return new Promise(function(resolve, reject) {
var gen = genF(); const gen = genF();
function step(nextF) { function step(nextF) {
try { try {
var next = nextF(); var next = nextF();
@ -536,13 +536,13 @@ function spawn(genF) {
function chainAnimationsPromise(elem, animations) { function chainAnimationsPromise(elem, animations) {
// 变量ret用来保存上一个动画的返回值 // 变量ret用来保存上一个动画的返回值
var ret = null; let ret = null;
// 新建一个空的Promise // 新建一个空的Promise
var p = Promise.resolve(); let p = Promise.resolve();
// 使用then方法添加所有动画 // 使用then方法添加所有动画
for(var anim of animations) { for(let anim of animations) {
p = p.then(function(val) { p = p.then(function(val) {
ret = val; ret = val;
return anim(elem); return anim(elem);
@ -567,9 +567,9 @@ function chainAnimationsPromise(elem, animations) {
function chainAnimationsGenerator(elem, animations) { function chainAnimationsGenerator(elem, animations) {
return spawn(function*() { return spawn(function*() {
var ret = null; let ret = null;
try { try {
for(var anim of animations) { for(let anim of animations) {
ret = yield anim(elem); ret = yield anim(elem);
} }
} catch(e) { } catch(e) {
@ -587,9 +587,9 @@ function chainAnimationsGenerator(elem, animations) {
```javascript ```javascript
async function chainAnimationsAsync(elem, animations) { async function chainAnimationsAsync(elem, animations) {
var ret = null; let ret = null;
try { try {
for(var anim of animations) { for(let anim of animations) {
ret = await anim(elem); ret = await anim(elem);
} }
} catch(e) { } catch(e) {