跳到主要内容
版本:v3

alova实例

createAlova()

创建一个 alova 实例。

  • 类型
function createAlova(options?: AlovaOptions): Alova;
  • 参数
  1. config: 配置参数
参数名类型说明
requestAdapterobject请求适配器,必填,查看详情
idstring | numberalova 实例 id,选填,查看详情
baseURLstring基础路径,选填,默认为空,查看详情
statesHookobject状态管理钩子,选填,查看详情
timeoutnumber超时时间,默认不超时,查看详情
cacheForobject本地缓存配置,默认 GET 有 5000ms 缓存,查看详情
l1CacheobjectLevel1 缓存适配器查看详情
l2CacheobjectLevel2 缓存适配器,查看详情
beforeRequestfunction请求前钩子,查看详情
respondedobject | function请求响应钩子,查看详情
shareRequestboolean共享请求,查看详情
cacheLoggerboolean | null | function缓存日志,查看详情
snapshotsnumbermethod 快照的数量限制,默认为 1000,查看详情
  • 返回

Alova 实例

  • 示例
import { createAlova } from 'alova';
import VueHook from 'alova/vue';
import adapterFetch from 'alova/fetch';

const alova = createAlova({
baseURL: 'https://example.com',
statesHook: VueHook,
requestAdapter: adapterFetch(),
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;
cacheFor?: GlobalcacheForConfig;
l1Cache?: AlovaStorageAdapter;
l2Cache?: AlovaStorageAdapter;
beforeRequest?: Function;
responded?: Function | ResponsedHandlerRecord;
shareRequest?: boolean;
cacheLogger?: boolean | null | Function;
snapshots?: number;
}

alova.l1Cache

alova 实例对应的 level1 缓存适配器,默认为内存缓存。

  • 类型
interface AlovaStorageAdapter {
get(key: string): any;
set(key: string, value: any): void;
remove(key: string): void;
clear(): void;
}

alova.l2Cache

alova 实例对应的 level2 缓存适配器,在客户端中默认为localStorage,服务端默认没有适配器。

  • 类型
interface AlovaStorageAdapter {
get(key: string): any;
set(key: string, value: any): void;
remove(key: string): void;
clear(): void;
}

alova.snapshots

当前实例的 method 快照存储器。

  • 类型
class MethodSnapshotContainer<AG extends AlovaGenerics> {
records: Record<string, Set<Method<AG>>>;
capacity: number;
occupy: number;
save(methodInstance: Method<AG>): void;
match<M extends boolean = true>(
matcher: MethodFilter<AG>,
matchAll?: M
): M extends true ? Method<AG>[] : Method<AG> | undefined;
}

alova.Get()

创建 GET 请求的 method 实例。

  • 类型
interface Alova {
Get(url: string, config?: AlovaMethodCreateConfig): Method;
}
  • 参数
  1. url: 请求地址
  2. config: 配置参数
参数名类型说明
headersobject请求头,查看详情
paramsobject请求参数,查看详情
namestringmethod 对象名称,在 updateStateinvalidateCachesetCache、以及 fetch 函数中可以通过名称或通配符获取对应 method 实例
timeoutnumber请求超时时间,查看详情
cacheForcacheForConfig响应缓存时间,查看详情
hitSourcestring打击源方法实例,当源方法实例请求成功时,当前方法实例的缓存将被失效,查看详情
transformfunction转换响应数据,查看详情
shareRequestboolean请求级共享请求开关,查看详情
metaanymethod 元数据, 查看详情

除了可配置上面的参数外,还支持请求适配器支持的其他参数。

  • 返回

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;
}
  • 参数
  1. url: 请求地址
  2. data: 请求 body
  3. 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;
}
  • 参数
  1. url: 请求地址
  2. data: 请求 body
  3. 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;
}
  • 参数
  1. url: 请求地址
  2. data: 请求 body
  3. 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;
}
  • 参数
  1. url: 请求地址
  2. config: 配置参数,参数类型同alova.Get
  • 返回

method 实例

alova.Patch()

创建 PATCH 请求的 method 实例。

  • 类型
interface Alova {
Patch(
url: string,
data?: object | FormData | string | null,
config?: AlovaMethodCreateConfig
): Method;
}
  • 参数
  1. url: 请求地址
  2. data: 请求 body
  3. config: 配置参数,参数类型同alova.Get
  • 返回

method 实例

alova.Options()

创建 OPTIONS 请求的 method 实例。

  • 类型
interface Alova {
Options(url: string, config?: AlovaMethodCreateConfig): Method;
}
  • 参数
  1. url: 请求地址
  2. config: 配置参数,参数类型同alova.Get
  • 返回

method 实例