hax / hax/hax.github.com

AbortSignal.timeout()

Open
#53 1 comment 2 reactions 0 assignees View on GitHub
Dominant language
HTML
Stars
464
Forks
27
PR merge metrics
No merged PRs in 30d

Description

常见的给请求加 timeout 的代码:
```ts
async function get(url: string, timeout: number) {
const timeoutPromise = new Promise((_, reject) => {
setTimeout(() => reject(new Error("Timeout")), timeout);
})
const fetchPromise = fetch(url)
// 使用Promise.race来竞赛fetch请求和超时Promise
return Promise.race([fetchPromise, timeoutPromise])
}
```
这代码work,但利用好API可以更简单:
```ts
return fetch(url, { signal: AbortSignal.timeout(timeout) })
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.