RxJS
RxJS 中文文档
RxJS github 地址
1. RxJS 是使用 Observables 的响应式编程的库,它使编写异步或基于回调的代码更容易。
2. RxJS 的 Observable可以认为是加强版的Promise,它们之间是可以通过RxJS的API互相转换的:
const observable = Observable.fromPromise(promise); // Promise转为Observable
const promise = observable.toPromise(); // Observable转为Promise
Axios
Axios 中文文档
Axios github 地址
1. Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。
2. Axios 特性
- 从浏览器中创建 XMLHttpRequests
- 从 node.js 创建 http 请求
- 支持 Promise API
- 拦截请求和响应
- 转换请求数据和响应数据
- 取消请求
- 自动转换 JSON 数据
- 客户端支持防御 XSRF
3. Axis 安装、用法,详细API 参照 Axios 中文文档
Axios + RxJS
1. Axios和RxJS均基于Promise,处理异步和回调更加优雅,编写相关代码也更简单。
2. 拦截器axios.interceptors,拦截request,全局请求设置;拦截response,对data或error全局处理。
3. 报错处理清晰明了,interceptors处理全局报错(globalErrHandle);catch处理代码层报错(cancel、requestErr、responseErr);subscribe处理业务层报错(errorsHandle)。
4. axios 发起的请求可以主动取消,请求还可以设置超时处理。
5. axios 适应多端,浏览器、node.js、react-native、vue.js。