Skip to main content
The Deno 2 Release Candidate is here
Learn more
Module

x/deno_es/deps.ts>BaseAjax

deno elasticsearch
Go to Latest
class BaseAjax
import { BaseAjax } from "https://deno.land/x/deno_es@v0.4.3/deps.ts";

Properties

private
IS_AJAX_STOP: boolean
caches: Map
interceptors

Methods

private
all_ajax(cfg: AjaxConfig): AjaxResult
private
cache_ajax(cfg: AjaxConfig): AjaxResult

缓存请求,同一时间同一请求只会向后台发送一次

private
clearCacheByKey(uniqueKey: string, cacheTimeout?: number)
private
core_ajax(mergedConfig: AjaxConfig): AjaxResult
private
fetch_timeout(
fecthPromise: Promise<any>,
controller: AbortController | undefined,
config: AjaxConfig,
)

实现fetch的timeout 功能

private
handleBaseUrl(url: string, baseURL?: string)
private
handleGetUrl(
url: string,
data: AjaxGetData,
isEncodeUrl?: boolean,
)
private
handlePostData(data: any, isFile?: boolean)
private
mergeAbortConfig(config: AjaxConfig, signal?: AbortSignal): AbortController | undefined
private
mergeResponse(promise: Promise<any>)
private
request(config: AjaxConfig)

进行fetch请求

private
showMessage(msg: string, config?: AjaxConfig)

提示错误,可以配置不提示

protected
getUniqueKey(config: AjaxConfig)
protected
handleErrorResponse(response: Response)

处理200-300外的错误状态码的请求 一般可以在这里处理跳转逻辑

protected
handleMessage(msg: string)

处理消息,具体实现可以覆盖此项

abort(controller?: AbortController)

取消接口请求

取消所有接口请求

ajax<T>(cfg: AjaxConfig): Promise<T>

ajax主方法,返回promise

ajaxAbortResult<T>(cfg: AjaxConfig): AbortResult<T>

调用ajax的同时,返回取消ajax请求的方法

get<T>(
url: string,
data?: AjaxGetData,
options?: AjaxExConfig,
)
getAbortResult<T>(
url: string,
data?: AjaxGetData,
options?: AjaxExConfig,
)

调用ajax的get请求的同时,返回取消ajax请求的方法

isAbortError(err: Error)
post<T>(
url: string,
data: AjaxPostData,
options?: AjaxExConfig,
)
postAbortResult<T>(
url: string,
data: AjaxPostData,
options?: AjaxExConfig,
)

调用ajax的post请求同时,返回取消ajax请求的方法

停止ajax

Static Properties

defaults: AjaxExConfig