diff options
| author | Li Zhineng <[email protected]> | 2025-07-23 21:27:12 +0800 |
|---|---|---|
| committer | Li Zhineng <[email protected]> | 2025-07-23 21:27:12 +0800 |
| commit | c83cd9faf5f1de957c0905964d8e44ee6b376003 (patch) | |
| tree | 748f81b0ec3260be412151067908568f98da4518 /src/index.ts | |
| parent | b2584c0e805476a971d24e22350caf3875b42dd0 (diff) | |
| download | wave-c83cd9faf5f1de957c0905964d8e44ee6b376003.tar.gz wave-c83cd9faf5f1de957c0905964d8e44ee6b376003.zip | |
specify timeout
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 } |
