配置 API
configure
设置全局配置。
类型签名
typescript
function configure(config: Partial<GlobalConfig>): void参数
config
- 类型:
Partial<GlobalConfig>
全局配置对象。
示例
typescript
import { configure } from '@wl-request/core'
configure({
baseURL: 'https://api.example.com',
timeout: 5000,
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer token'
}
})getGlobalConfig
获取当前全局配置。
类型签名
typescript
function getGlobalConfig(): Partial<GlobalConfig>返回值
当前的全局配置对象(部分配置)。
示例
typescript
import { getGlobalConfig } from '@wl-request/core'
const config = getGlobalConfig()
console.log(config.baseURL)resetConfig
重置全局配置为默认值。
类型签名
typescript
function resetConfig(): void示例
typescript
import { resetConfig } from '@wl-request/core'
resetConfig()setDefaultCacheAdapter
设置默认缓存适配器。
类型签名
typescript
function setDefaultCacheAdapter(adapter: CacheAdapter): void参数
adapter
- 类型:
CacheAdapter - 缓存适配器实例。
示例
typescript
import { setDefaultCacheAdapter } from '@wl-request/core'
import { LocalStorageCacheAdapter } from '@wl-request/core'
// 设置为全局默认缓存适配器
setDefaultCacheAdapter(new LocalStorageCacheAdapter())resetDefaultCacheAdapter
重置默认缓存适配器为 null。
类型签名
typescript
function resetDefaultCacheAdapter(): void示例
typescript
import { resetDefaultCacheAdapter } from '@wl-request/core'
// 重置默认缓存适配器
resetDefaultCacheAdapter()getDefaultCacheAdapter
获取当前默认缓存适配器。
类型签名
typescript
function getDefaultCacheAdapter(): CacheAdapter | null返回值
当前默认缓存适配器,未设置时返回 null。
示例
typescript
import { getDefaultCacheAdapter } from '@wl-request/core'
const adapter = getDefaultCacheAdapter()
if (adapter) {
console.log('当前默认适配器:', adapter)
}优先级说明: 此函数返回的适配器可能来自:
configure()中的cacheAdapter配置(全局配置)setDefaultCacheAdapter()设置的值(模块级默认值)- 如果两者都未设置,则返回 null
mergeConfig
合并配置对象。
类型签名
typescript
function mergeConfig<T = unknown>(
global: Partial<GlobalConfig>,
local: Partial<RequestConfig<T>>
): RequestConfig<T>参数
| 参数 | 类型 | 说明 |
|---|---|---|
| global | Partial<GlobalConfig> | 全局配置 |
| local | Partial<RequestConfig<T>> | 请求配置 |
返回值
合并后的配置对象。
示例
typescript
import { mergeConfig } from '@wl-request/core'
const baseConfig = {
baseURL: 'https://api.example.com',
timeout: 5000
}
const requestConfig = {
url: '/users',
method: 'GET'
}
const finalConfig = mergeConfig(baseConfig, requestConfig)createRequest
创建请求实例。
类型签名
typescript
function createRequest<T = unknown>(config: RequestConfig<T>): RequestInstance<T>参数
config
- 类型:
RequestConfig<T> - 必填
请求实例的配置。
返回值
请求实例对象。
示例
typescript
import { createRequest } from '@wl-request/core'
// 创建请求实例
const request = createRequest({
url: '/api/users',
method: 'GET',
baseURL: 'https://api.example.com',
timeout: 5000,
headers: {
'Content-Type': 'application/json'
}
})
// 发送请求
async function loadData() {
const response = await request.send()
console.log('数据:', response.data)
}
loadData()registerAdapter
注册适配器。
类型签名
typescript
function registerAdapter(name: string, adapter: RequestAdapter): void参数
| 参数 | 类型 | 说明 |
|---|---|---|
| name | string | 适配器名称 |
| adapter | RequestAdapter | 适配器实例 |
示例
typescript
import { registerAdapter } from '@wl-request/core'
import { AxiosAdapter } from '@wl-request/adapter-axios'
registerAdapter('axios', new AxiosAdapter())setDefaultAdapter
设置默认适配器。
类型签名
typescript
function setDefaultAdapter(adapter: RequestAdapter): void参数
adapter
- 类型:
RequestAdapter
适配器实例。
示例
typescript
import { setDefaultAdapter } from '@wl-request/core'
import { AxiosAdapter } from '@wl-request/adapter-axios'
setDefaultAdapter(new AxiosAdapter())getAdapter
获取已注册的适配器。
类型签名
typescript
function getAdapter(name?: string): RequestAdapter | null参数
name
- 类型:
string - 可选
适配器名称。如果未指定或为 'default',则返回默认适配器。
返回值
- 当
name未指定或为'default'时,返回默认适配器实例(永远不会为 null) - 当指定具体名称且未找到时,返回
null
示例
typescript
import { getAdapter } from '@wl-request/core'
// 获取已注册的 axios 适配器
const adapter = getAdapter('axios')getDefaultAdapter
获取默认适配器。
类型签名
typescript
function getDefaultAdapter(): RequestAdapter返回值
默认适配器实例。
如果未设置默认适配器,则返回一个代理适配器(Proxy Adapter)。代理适配器会在首次请求时异步加载 FetchAdapter。
示例
typescript
import { getDefaultAdapter } from '@wl-request/core'
const adapter = getDefaultAdapter()resetAdapters
重置所有适配器为默认状态。
类型签名
typescript
function resetAdapters(): void示例
typescript
import { resetAdapters } from '@wl-request/core'
resetAdapters()clearPendingRequests
清除所有正在进行的幂等请求记录。
类型签名
typescript
function clearPendingRequests(): void说明
此函数会清除所有待处理的幂等请求记录。主要用于:
- 测试环境清理状态
- 强制取消所有等待中的幂等请求
WARNING
调用此函数后,正在等待相同幂等键的请求将无法共享结果,会各自独立执行。
示例
typescript
import { clearPendingRequests } from '@wl-request/core'
// 测试后清理
clearPendingRequests()