@wya/http
安装
npm install @wya/http --save
用法例子
import createHttpClient, { ajax } from '@wya/http';
let cancelCb;
ajax({
url: 'http://***.com/{id}?userName={user.name}',
type: "GET",
param: {
id: '2',
user: {
name: 'wya-team',
age: ''
}
},
requestType: "form-data:json",
getInstance: ({ xhr, cancel }) => cancelCb = cancel,
debug: true
}).then((res) => {
console.log(res, 0);
}).catch((res) => {
console.log(res);
});
setTimeout(() => {
cancelCb();
}, 100);
API
属性 |
说明 |
类型 |
默认值 |
createHttpClient |
注册函数 |
(globalOptions = {}) => Func |
- |
ajax |
ajax函数 |
(userOptions = {}) => Promise |
- |
const { ajax } = createHttpClient();
属性 |
说明 |
类型 |
默认值 |
globalOptions |
可以给下面的userOptions 设置些默认值 |
obj |
- |
属性 |
说明 |
类型 |
默认值 |
url |
请求地址path |
str |
- |
type |
请求类型 |
str |
GET |
param |
参数 |
obj |
- |
async |
请求是否是异步 |
bool |
true |
debug |
测试 |
bool |
false |
requestType |
form-data 、json 、form-data:json (POST方式以 data: JSON.stringify(data) 传递) |
str |
form-data |
allowEmptyString |
是否接收空字符串 |
bool |
false |
loading |
执行loadingFn 和loadedFn |
boolean |
true |
localData |
假如数据有缓存,不请求ajax |
obj |
- |
apis |
- |
- |
- |
responseType |
- |
- |
- |
credentials |
- |
- |
- |
headers |
- |
- |
- |
useXHR |
- |
- |
- |
restful |
- |
- |
- |
timeout |
单位s |
- |
- |
delay |
单位s |
- |
- |
属性 |
说明 |
类型 |
默认值 |
onLoading |
请求时回调 |
({ options }) => void |
- |
onLoaded |
请求完回调,可以把loading 移除 |
({ options }) => void |
- |
onBefore |
在调用前改变options - 拦截options |
({ options }) => Promise |
- |
onAfter |
在调用后改变response - 拦截response |
({ response, options }) => Promise |
- |
onOther |
status !1或!0,以外的情 |
({ response, options }) => void |
- |
onProgress |
上传进度回调 |
(e) => void |
- |
getInstance |
获取XHR实例 |
({ xhr, options, cancel }) => void |
- |