请求方法
FetchTimeoutError
请求超时时抛出的错误类,继承自 Error,name 属性为 'FetchTimeoutError'
class FetchTimeoutError extends Error {
constructor(timeout: number)
}可通过 instanceof 判断是否为超时错误:
try {
await ruax.get('/api/data')
} catch (err) {
if (err instanceof FetchTimeoutError) {
console.log('请求超时')
}
}FetchCancelError
请求被主动取消时抛出的错误类,继承自 Error,name 属性为 'FetchCancelError'
class FetchCancelError extends Error {
constructor()
}可通过 instanceof 判断是否为取消错误:
try {
await ruax.get('/api/data')
} catch (err) {
if (err instanceof FetchCancelError) {
console.log('请求已取消')
}
}create()
该方法用于发起一个请求
类型
tscreate(options: RuaxCreateOptionsWithInterceptor): Promise<any>详细信息
提供一个入参,类型为
RuaxCreateOptionsWithInterceptor,包括以下属性:url:请求的地址body:请求的入参数据,同fetch原生的body参数,如果是json格式化的入参需要使用JSON.stringify转为字符串baseUrl:请求的基本地址,如果此属性不配置则默认使用ruax.baseUrlmethod:请求的类型,如果此属性不配置则默认使用ruax.methodheaders:请求头配置,设置此属性后,会覆盖ruax.headers中的同名请求头responseType:期待的请求返回类型,如果此属性不配置则默认使用ruax.responseTypetimeout:请求超时时间,如果此属性不配置则默认使用ruax.timeoutmode:指定请求的跨域行为,如果此属性不配置则默认使用ruax.modecache:指定请求的缓存行为,如果此属性不配置则默认使用ruax.cachecredentials:凭证策略,如果此属性不配置则默认使用ruax.credentialscancelRequest:取消函数,如果此属性不配置则默认使用ruax.cancelRequestonProgress:请求进度监听函数,如果此属性不配置则默认使用ruax.onProgressbeforeRequest:请求拦截函数,如果此属性不配置,则默认使用ruax.beforeRequestbeforeResponse:响应拦截函数,如果此属性不配置,则默认使用ruax.beforeResponse
示例
tsconst ruax = new Ruax() const data = await ruax.create({ url: 'https://www.xxx.com/api/getInfo', body: JSON.stringify({ id: 1 }) })
post()
快速发起一个 POST 请求
类型
tspost(url: string, body?: BodyInit): Promise<any>详细信息
第一个入参表示请求的地址,同
create方法的url参数;第二个参数表示请求入参数据,同create的body参数该方法不需要配置其他参数,但是会受到参数默认值的影响,比如设置
ruax.headers也会影响该方法发送的请求示例
tsconst ruax = new Ruax() const data = await ruax.post( '/api/post', JSON.stringify({ id: '1' }) )
get()
快速发起一个 GET 请求
类型
tsget(url: string): Promise<any>详细信息
提供一个入参,表示请求的地址,同
create方法的url参数该方法不需要配置其他参数,但是会受到参数默认值的影响,比如设置
ruax.headers也会影响该方法发送的请求示例
tsconst ruax = new Ruax() const data = await ruax.get('/api/get')
put()
快速发起一个 PUT 请求
类型
tsput(url: string, body?: BodyInit): Promise<any>详细信息
第一个入参表示请求的地址,同
create方法的url参数;第二个参数表示请求入参数据,同create的body参数示例
tsconst ruax = new Ruax() const data = await ruax.put( '/api/put', JSON.stringify({ id: '1' }) )
patch()
快速发起一个 PATCH 请求
类型
tspatch(url: string, body?: BodyInit): Promise<any>详细信息
第一个入参表示请求的地址,同
create方法的url参数;第二个参数表示请求入参数据,同create的body参数示例
tsconst ruax = new Ruax() const data = await ruax.patch( '/api/patch', JSON.stringify({ id: '1', name: '张三' }) )
delete()
快速发起一个 DELETE 请求
类型
tsdelete(url: string): Promise<any>详细信息
提供一个入参,表示请求的地址,同
create方法的url参数示例
tsconst ruax = new Ruax() const data = await ruax.delete('/api/delete')
