iota-fetch
v0.0.4
Published
```tex npm install iota-fetch ```
Readme
安装
npm install iota-fetch使用 ①
import createFetch from "iota-fetch"
// requestConfig 请求配置项 同axios config
const requestConfig = {};
// 请求拦截
function requestIntercept() {
let intercept = (config) => {
// 在发送请求之前做些什么
return config;
}
let error = (error) => {
// 对请求错误做些什么
return Promise.reject(error);
}
return [intercept, error]
}
// 相应拦截
function responseIntercept() {
let intercept = (response) => {
// 2xx 范围内的状态码都会触发该函数。
console.log(response, "响应拦截器")
return response;
}
let error = () => {
// 超出 2xx 范围的状态码都会触发该函数。
return Promise.reject(error);
}
return [intercept, error]
}
let { fetch } = createFetch({ requestIntercept, responseIntercept, requestConfig })使用 ②
import createFetch from "iota-fetch"
// requestConfig 请求配置项 同axios config
const requestConfig = {};
//loading -> loading.show() loading.hide()
const { fetch, instance } = createFetch({ requestConfig, loading})
// fetch 请求方法 fetch.get fetch.post fetch.put ...
// 创建的axios 实例 instance 添加拦截器
// 添加请求拦截器
instance.interceptors.request.use(function (config) {
// 在发送请求之前做些什么
return config;
}, function (error) {
// 对请求错误做些什么
return Promise.reject(error);
});
// 添加响应拦截器
instance.interceptors.response.use(function (response) {
// 2xx 范围内的状态码都会触发该函数。
return response;
}, function (error) {
// 超出 2xx 范围的状态码都会触发该函数。
return Promise.reject(error);
});
export default fetch;取消请求
import { requestQueue } from "iota-fetch"
// requestQueue 有一个队列用于请求未响应的队列
// getQueue() 获取队列
// createMapKey(method, path, data) 生成map key // 参数 data传入口会序列化
// abortive(key) map key取消请求的key
// removeResAll() 取消队列中所有的请求