diff options
Diffstat (limited to 'src/index.ts')
| -rw-r--r-- | src/index.ts | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/index.ts b/src/index.ts index de0ad68..80d0560 100644 --- a/src/index.ts +++ b/src/index.ts @@ -89,6 +89,8 @@ class PendingRequest { #data: RequestData = {} + #timeout: number | null = null + #middlewares: Middleware<ResponseData>[] = [] method(method: HttpMethod) { @@ -159,6 +161,12 @@ class PendingRequest { return this.#data } + timeout(milliseconds: number) { + const request = this.#clone() + request.#timeout = milliseconds + return request + } + use(fn: Middleware<any> | Middleware<any>[]) { const request = this.#clone() const handlers = Array.isArray(fn) ? fn : [fn] @@ -226,6 +234,7 @@ class PendingRequest { filePath, name, header: request.#header, + timeout: request.#timeout ?? undefined, enableHttp2: true, success(res) { resolveHandler(new Response(res)) @@ -264,6 +273,7 @@ class PendingRequest { url: request.#buildUrl(), data: request.body(), header: request.#header, + timeout: request.#timeout ?? undefined, method: request.#httpMethod, dataType: request.isJson() ? 'json' : '其他', responseType: 'text', @@ -296,6 +306,7 @@ class PendingRequest { request.#query = { ...this.#query } request.#header = { ...this.#header } request.#data = { ...this.#data } + request.#timeout = this.#timeout request.#middlewares = [...this.#middlewares] return request } |
