- 内容简介
- 译者序
- 前言
- 第 1 章 安装配置新项目
- 第 2 章 Flexbox 布局介绍
- 第 3 章 用 React Native 开发一个应用
- 第 4 章 在 React Native 中使用导航
- 第 5 章 动画和滑动菜单
- 第 6 章 用 React Native 绘制 Canvas
- 第 7 章 使用 React Native 播放音频
- 第 8 章 你的第一个自定义视图
- 第 9 章 Flux 介绍
- 第 10 章 处理复杂的应用程序状态
- 第 11 章 使用 Node 来实现服务端 API
- 第 12 章 在 React Native 中使用文件上传
- 第 13 章 理解 JavaScript Promise
- 第 14 章 fetch 简介
- 第 15 章 在 iOS 中使用 SQLite
- 第 16 章 集成 Google Admob
- 第 17 章 React Native 组件国际化
- 附录 A React.js 快速介绍
- 附录 B Objective-C Primer
- 附录 C webpack 入门
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
fetch 基础使用
为了做比较,我们先来写个简单的例子,并且分别用 XMLHttpRequest 和 fetch 实现相关功能。我们想要实现的功能是这样的:请求一个 URL 地址,获取响应数据并将数据转换成 JSON 格式。
使用 XMLHttpRequest 实现
使用 XMLHttpRequest 来实现该功能需要设置两个监听函数,分别用来处理成功和失败的情况,同时还需要依次调用 open() 和 send() 方法才能实现请求。我们从 MDN 文档中找来了下面的示例代码:
function reqListener() { var data = JSON.parse(this.responseText); console.log(data); } function reqError(err) { console.log('Fetch Error :-S', err); } var oReq = new XMLHttpRequest(); oReq.onload = reqListener; oReq.onerror = reqError; oReq.open('get', './api/some.json', true); oReq.send();
使用 fetch 实现
我们也可以使用 fetch 来实现相关功能,代码如下:
fetch('./api/some.json') .then( function(response) { if (response.status ! == 200) { console.log('Looks like there was a problem. Status Code: ' + response.status); return; } // 处理响应中的文本信息 response.json().then(function(data) { console.log(data); }); } ) .catch(function(err) {
console.log('Fetch Error :-S', err); });
在将响应的文本信息转换成 JSON 格式前,需要先确保响应的状态码为 200。
fetch() 请求后返回的响应是一个 Stream 对象,这就意味着我们在调用 json() 方法后会返回一个 Promise,因为读取 Stream 的过程是异步操作的。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论