mirror of
https://github.com/ruanyf/es6tutorial.git
synced 2025-05-24 18:32:22 +00:00
docs(async): edit async
This commit is contained in:
parent
d7ee7e4081
commit
1b928fb71f
@ -67,9 +67,7 @@ var result = asyncReadFile();
|
|||||||
|
|
||||||
进一步说,`async`函数完全可以看作多个异步操作,包装成的一个 Promise 对象,而`await`命令就是内部`then`命令的语法糖。
|
进一步说,`async`函数完全可以看作多个异步操作,包装成的一个 Promise 对象,而`await`命令就是内部`then`命令的语法糖。
|
||||||
|
|
||||||
## 用法
|
## 基本用法
|
||||||
|
|
||||||
### 基本用法
|
|
||||||
|
|
||||||
`async`函数返回一个 Promise 对象,可以使用`then`方法添加回调函数。当函数执行的时候,一旦遇到`await`就会先返回,等到异步操作完成,再接着执行函数体内后面的语句。
|
`async`函数返回一个 Promise 对象,可以使用`then`方法添加回调函数。当函数执行的时候,一旦遇到`await`就会先返回,等到异步操作完成,再接着执行函数体内后面的语句。
|
||||||
|
|
||||||
|
@ -171,7 +171,7 @@ for (let i of text) {
|
|||||||
|
|
||||||
## at()
|
## at()
|
||||||
|
|
||||||
ES5对字符串对象提供`charAt`方法,返回字符串给定位置的字符。该方法不能识别码点大于`0xFFFF`的字符。
|
ES5 对字符串对象提供`charAt`方法,返回字符串给定位置的字符。该方法不能识别码点大于`0xFFFF`的字符。
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
'abc'.charAt(0) // "a"
|
'abc'.charAt(0) // "a"
|
||||||
@ -180,7 +180,7 @@ ES5对字符串对象提供`charAt`方法,返回字符串给定位置的字符
|
|||||||
|
|
||||||
上面代码中,`charAt`方法返回的是UTF-16编码的第一个字节,实际上是无法显示的。
|
上面代码中,`charAt`方法返回的是UTF-16编码的第一个字节,实际上是无法显示的。
|
||||||
|
|
||||||
目前,有一个提案,提出字符串实例的`at`方法,可以识别Unicode编号大于`0xFFFF`的字符,返回正确的字符。
|
目前,有一个提案,提出字符串实例的`at`方法,可以识别 Unicode 编号大于`0xFFFF`的字符,返回正确的字符。
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
'abc'.at(0) // "a"
|
'abc'.at(0) // "a"
|
||||||
@ -191,9 +191,9 @@ ES5对字符串对象提供`charAt`方法,返回字符串给定位置的字符
|
|||||||
|
|
||||||
## normalize()
|
## normalize()
|
||||||
|
|
||||||
许多欧洲语言有语调符号和重音符号。为了表示它们,Unicode提供了两种方法。一种是直接提供带重音符号的字符,比如`Ǒ`(\u01D1)。另一种是提供合成符号(combining character),即原字符与重音符号的合成,两个字符合成一个字符,比如`O`(\u004F)和`ˇ`(\u030C)合成`Ǒ`(\u004F\u030C)。
|
许多欧洲语言有语调符号和重音符号。为了表示它们,Unicode 提供了两种方法。一种是直接提供带重音符号的字符,比如`Ǒ`(\u01D1)。另一种是提供合成符号(combining character),即原字符与重音符号的合成,两个字符合成一个字符,比如`O`(\u004F)和`ˇ`(\u030C)合成`Ǒ`(\u004F\u030C)。
|
||||||
|
|
||||||
这两种表示方法,在视觉和语义上都等价,但是JavaScript不能识别。
|
这两种表示方法,在视觉和语义上都等价,但是 JavaScript 不能识别。
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
'\u01D1'==='\u004F\u030C' //false
|
'\u01D1'==='\u004F\u030C' //false
|
||||||
@ -202,9 +202,9 @@ ES5对字符串对象提供`charAt`方法,返回字符串给定位置的字符
|
|||||||
'\u004F\u030C'.length // 2
|
'\u004F\u030C'.length // 2
|
||||||
```
|
```
|
||||||
|
|
||||||
上面代码表示,JavaScript将合成字符视为两个字符,导致两种表示方法不相等。
|
上面代码表示,JavaScript 将合成字符视为两个字符,导致两种表示方法不相等。
|
||||||
|
|
||||||
ES6提供字符串实例的`normalize()`方法,用来将字符的不同表示方法统一为同样的形式,这称为Unicode正规化。
|
ES6 提供字符串实例的`normalize()`方法,用来将字符的不同表示方法统一为同样的形式,这称为 Unicode 正规化。
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
'\u01D1'.normalize() === '\u004F\u030C'.normalize()
|
'\u01D1'.normalize() === '\u004F\u030C'.normalize()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user