@wya/http
v1.5.3-alpha.2
Published
wya-http for js
Downloads
3
Readme
@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();
createHttpClient
- 参数说明
属性 | 说明 | 类型 | 默认值
---|---|---|---
globalOptions | 可以给下面的userOptions
设置些默认值 | obj | -
参数配置原则:
userOptions(single)
>registerOptions(HOF)
>defaultOptions(single)
ajax
- 参数说明 - 属性
属性 | 说明 | 类型 | 默认值
---|---|---|---
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 | - | -
ajax
- 参数说明 - 方法
属性 | 说明 | 类型 | 默认值
---|---|---|---
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
| -