File tree Expand file tree Collapse file tree 1 file changed +5
-5
lines changed
Expand file tree Collapse file tree 1 file changed +5
-5
lines changed Original file line number Diff line number Diff line change 66
77## 基本用法
88
9- ` fetch() ` 的功能与 XMLHttpRequest 基本相同,但有三个主要的差异。
9+ ` fetch() ` 的功能与 XMLHttpRequest 基本相同,都是向服务器发出 HTTP 请求, 但有三个主要的差异。
1010
1111(1)` fetch() ` 使用 Promise,不使用回调函数,因此大大简化了写法,写起来更简洁。
1212
1313(2)` fetch() ` 采用模块化设计,API 分散在多个对象上(Response 对象、Request 对象、Headers 对象),更合理一些;相比之下,XMLHttpRequest 的 API 设计并不是很好,输入、输出、状态都在同一个接口管理,容易写出非常混乱的代码。
1414
15- (3)` fetch() ` 通过数据流(Stream 对象)处理数据,可以分块读取,有利于提高网站性能表现,减少内存占用,对于请求大文件或者网速慢的场景相当有用。XMLHTTPRequest 对象不支持数据流,所有的数据必须放在缓存里 ,不支持分块读取,必须等待全部拿到后,再一次性吐出来 。
15+ (3)` fetch() ` 通过数据流(Stream 对象)处理数据,可以分块读取,有利于提高网站性能表现,减少内存占用,对于请求大文件或者网速慢的场景相当有用。XMLHttpRequest 对象不支持数据流,所有的数据全部放在缓存里 ,不支持分块读取,必须等待全部获取后,再一次性读取 。
1616
17- 在用法上 ,` fetch() ` 接受一个 URL 字符串作为参数,默认向该网址发出 GET 请求,返回一个 Promise 对象。它的基本用法如下。
17+ 用法上 ,` fetch() ` 接受一个 URL 字符串作为参数,默认向该网址发出 GET 请求,返回一个 Promise 对象。它的基本用法如下。
1818
1919``` javascript
2020fetch (url)
@@ -31,7 +31,7 @@ fetch('https://api.github.com/users/ruanyf')
3131 .catch (err => console .log (' Request Failed' , err));
3232```
3333
34- 上面示例中,` fetch() ` 接收到的` response ` 是一个 [ Stream 对象] ( https://developer.mozilla.org/en-US/docs/Web/API/Streams_API ) ,` response.json() ` 是一个异步操作,取出所有内容 ,并将其转为 JSON 对象。
34+ 上面示例中,` fetch() ` 接收到的` response ` 是一个 [ Stream 对象] ( https://developer.mozilla.org/en-US/docs/Web/API/Streams_API ) ,` response.json() ` 是一个异步操作,用来取出所有内容 ,并将其转为 JSON 对象。
3535
3636Promise 可以使用 await 语法改写,使得语义更清晰。
3737
@@ -49,7 +49,7 @@ async function getJSON() {
4949
5050上面示例中,` await ` 语句必须放在` try...catch ` 里面,这样才能捕捉异步操作中可能发生的错误。
5151
52- 后文都采用` await ` 的写法,不使用 ` .then() ` 的写法。
52+ 后文都采用` await ` 的写法,不再使用 ` .then() ` 的写法。
5353
5454## Response 对象:处理 HTTP 回应
5555
You can’t perform that action at this time.
0 commit comments