跳到主要内容
版本:v2

alova实例

createAlova()

创建一个 alova 实例。

  • 类型
function createAlova(options?: AlovaOptions): Alova;
  • 参数
  1. config: 配置参数
参数名类型说明
baseURLstring基础路径,默认为空,查看详情
statesHookobject状态管理钩子,选填,查看详情
requestAdapterobject请求适配器,必填,查看详情
timeoutnumber超时时间,默认不超时,查看详情
localCacheobject本地缓存配置,默认 GET 有 5000ms 缓存,查看详情
storageAdapterobject本地存储适配器,默认为localStorage查看详情
beforeRequestfunction请求前钩子,查看详情
respondedobject | function请求响应钩子,查看详情
shareRequestboolean共享请求,查看详情
errorLoggerboolean| null | function错误日志,查看详情
cacheLoggerboolean | 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;
}
  • 参数
  1. url: 请求地址
  2. config: 配置参数
参数名类型说明
headersobject请求头,查看详情
paramsobject请求参数,查看详情
namestringmethod 对象名称,在 updateStateinvalidateCachesetCache、以及 fetch 函数中可以通过名称或通配符获取对应 method 实例
timeoutnumber请求超时时间,查看详情
localCacheLocalCacheConfig响应缓存时间,查看详情
hitSourcestring打击源方法实例,当源方法实例请求成功时,当前方法实例的缓存将被失效,查看详情
enableDownloadboolean开启下载进度信息,查看详情
enableUploadboolean开启上传进度信息,查看详情
transformDatafunction转换响应数据,查看详情
shareRequestboolean请求级共享请求开关,查看详情

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

  • 返回

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 实例