import { Ajax } from "https://deno.land/x/deno_nest@v3.6.0/modules/uinv/deps.ts";
Methods
private
cache_ajax(cfg: AjaxConfig, isRevalidate: boolean): AjaxResult缓存请求,同一时间同一请求只会向后台发送一次
private
clearCacheByKey(uniqueKey: string, cacheTimeout?: number)private
core_ajax(mergedConfig: AjaxConfig): AjaxResultprivate
fetch_timeout()实现fetch的timeout 功能
private
handleBaseUrl(url: string, baseURL?: string)private
handleGetUrl(url: string,
data: AjaxGetData,
isEncodeUrl?: boolean,
private
handlePostData(data: any, isFile?: boolean)private
logDebug(message: string, isDebug?: boolean): voidprivate
mergeAbortConfig(config: AjaxConfig, signal?: AbortSignal): AbortController | undefinedprivate
mergeConfig(cfg: AjaxConfig): AjaxConfigprivate
mergeResponse(promise: Promise<any>)private
request(config: AjaxConfig)进行fetch请求
protected
getUniqueKey(config: AjaxConfig)abort(controller?: AbortController)
取消接口请求
abortAll()
取消所有接口请求
ajax<T>(cfg: AjaxConfig): Promise<T>
ajax主方法,返回promise
ajaxAbortResult<T>(cfg: AjaxConfig): AbortResult<T>
调用ajax的同时,返回取消ajax请求的方法
all_ajax(cfg: AjaxConfig): AjaxResult
清除所有缓存的timeout
clearCacheByConfig(cfg: AjaxConfig)
手动清除缓存
get<T>()
url: string,
data?: AjaxGetData,
options?: AjaxExConfig,
getAbortResult<T>()
url: string,
data?: AjaxGetData,
options?: AjaxExConfig,
调用ajax的get请求的同时,返回取消ajax请求的方法
getWithHeaders<T>()
url: string,
data?: AjaxGetData,
options?: AjaxExConfig,
isAbortError(err: Error)
post<T>()
url: string,
data: AjaxPostData,
options?: AjaxExConfig,
postAbortResult<T>()
url: string,
data: AjaxPostData,
options?: AjaxExConfig,
调用ajax的post请求同时,返回取消ajax请求的方法
postWithHeaders<T>()
url: string,
data: AjaxPostData,
options?: AjaxExConfig,