alova实例
createAlova()
创建一个 alova 实例。
- 类型
function createAlova(options?: AlovaOptions): Alova;
- 参数
- config: 配置参数
参数名 | 类型 | 说明 |
---|---|---|
baseURL | string | 基础路径,默认为空,查看详情 |
statesHook | object | 状态管理钩子,选填,查看详情 |
requestAdapter | object | 请求适配器,必填,查看详情 |
timeout | number | 超时时间,默认不超时,查看详情 |
localCache | object | 本地缓存配置,默认 GET 有 5000ms 缓存,查看详情 |
storageAdapter | object | 本地存储适配器,默认为localStorage ,查看详情 |
beforeRequest | function | 请求前钩子,查看详情 |
responded | object | function | 请求响应钩子,查看详情 |
shareRequest | boolean | 共享请求,查看详情 |
errorLogger | boolean| null | function | 错误日志,查看详情 |
cacheLogger | boolean | null | function | 缓存日志,查看详情 |
- 返回
Alova 实例
- 示例
import { createAlova } from 'alova';
const alova = createAlova({
baseURL: 'https://example.com',
statesHook: VueHook,
requestAdapter: GlobalFetch(),
timeout: 3000
// ...
});
alova.id
alova 实例 id,用于区分不同的 alova 实例,可在method 匹配器中精准匹配指定 alova 的 method 实例。
- 类型:string
alova.options
通过createAlova
创建 alova 实例时,默认配置与传入的配置对象合并后的对象。
- 类型
interface AlovaOptions {
statesHook: StatesHook;
requestAdapter: AlovaRequestAdapter;
baseURL?: string;
timeout?: number;
localCache?: GlobalLocalCacheConfig;
storageAdapter?: AlovaStorageAdapter;
beforeRequest?: Function;
responded?: Function | ResponsedHandlerRecord;
shareRequest?: boolean;
errorLogger?: boolean | null | Function;
cacheLogger?: boolean | null | Function;
}
alova.storage
alova 实例对应的存储适配器实例,默认为AlovaGlobalStorage
,它使用的是localStorage
。
- 类型
interface AlovaStorageAdapter {
get(key: string): any;
set(key: string, value: any): void;
remove(key: string): void;
}
alova.Get()
创建 GET 请求的 method 实例。
- 类型
interface Alova {
Get(url: string, config?: AlovaMethodCreateConfig): Method;
}
- 参数
- url: 请求地址
- config: 配置参数
参数名 | 类型 | 说明 |
---|---|---|
headers | object | 请求头,查看详情 |
params | object | 请求参数,查看详情 |
name | string | method 对象名称,在 updateState、invalidateCache、setCache、以及 fetch 函数中可以通过名称或通配符获取对应 method 实例 |
timeout | number | 请求超时时间,查看详情 |
localCache | LocalCacheConfig | 响应缓存时间,查看详情 |
hitSource | string | 打击源方法实例,当源方法实例请求成功时,当前方法实例的缓存将被失效,查看详情 |
enableDownload | boolean | 开启下载进度信息,查看详情 |
enableUpload | boolean | 开启上传进度信息,查看详情 |
transformData | function | 转换响应数据,查看详情 |
shareRequest | boolean | 请求级共享请求开关,查看详情 |
除了可配置上面的参数外,还支持请求适配器支持的其他参数。
- 返回
method 实例
- 示例
const getUsers = alovaInstance.Get('/users', {
params: {
id: 1
}
// ...
});
alova.Post()
创建 POST 请求的 method 实例。
- 类型
interface Alova {
Post(
url: string,
data?: object | FormData | string | null,
config?: AlovaMethodCreateConfig
): Method;
}
- 参数
- url: 请求地址
- data: 请求 body
- config: 配置参数,参数类型同alova.Get
- 返回
method 实例
- 示例
const postUsers = alovaInstance.Post(
'/createUser',
{
name: 'alova',
age: 18,
gender: 'male'
},
{
// 配置参数...
}
);
alova.Delete()
创建 DELETE 请求的 method 实例。
- 类型
interface Alova {
Delete(
url: string,
data?: object | FormData | string | null,
config?: AlovaMethodCreateConfig
): Method;
}
- 参数
- url: 请求地址
- data: 请求 body
- config: 配置参数,参数类型同alova.Get
- 返回
method 实例
- 示例
const deleteUsers = alovaInstance.Delete(
'/deleteUser',
{
id: 1
},
{
// 配置参数...
}
);
alova.Put()
创建 PUT 请求的 method 实例。
- 类型
interface Alova {
Put(
url: string,
data?: object | FormData | string | null,
config?: AlovaMethodCreateConfig
): Method;
}
- 参数
- url: 请求地址
- data: 请求 body
- config: 配置参数,参数类型同alova.Get
- 返回
method 实例
- 示例
const putUsers = alovaInstance.Put(
'/updateUser',
{
id: 1,
name: 'alova'
},
{
// 配置参数...
}
);
alova.Head()
创建 HEAD 请求的 method 实例。
- 类型
interface Alova {
Head(url: string, config?: AlovaMethodCreateConfig): Method;
}
- 参数
- url: 请求地址
- config: 配置参数,参数类型同alova.Get
- 返回
method 实例
alova.Patch()
创建 PATCH 请求的 method 实例。
- 类型
interface Alova {
Patch(
url: string,
data?: object | FormData | string | null,
config?: AlovaMethodCreateConfig
): Method;
}
- 参数
- url: 请求地址
- data: 请求 body
- config: 配置参数,参数类型同alova.Get
- 返回
method 实例
alova.Options()
创建 OPTIONS 请求的 method 实例。
- 类型
interface Alova {
Options(url: string, config?: AlovaMethodCreateConfig): Method;
}
- 参数
- url: 请求地址
- config: 配置参数,参数类型同alova.Get
- 返回
method 实例