并行获取数据,包含错误处理与超时机制

TypeScript Hard async

任务 «并行获取数据,包含错误处理与超时机制»

实现一个异步函数 `fetchWithTimeout`,它接受一个 URL 数组(字符串)和以毫秒为单位的超时时间。该函数应使用 `fetch` 并行地向所有 URL 发送 HTTP 请求。如果某个请求执行时间超过指定的超时时间,则应通过 `AbortController` 取消该请求。函数返回的结果数组顺序与输入的 URL 顺序相同。对于每个 URL,结果是一个字符串:成功响应(响应文本)或格式为 "Error: <错误类型>" 的错误消息,其中 <错误类型> 为 "Timeout"(如果超时)或 "Network"(如果发生网络错误)。保证 URL 有效,但服务器可能无响应或响应缓慢。使用 `Promise.allSettled` 处理所有结果。

输入格式

第一行是数字 N(URL 的数量)。接下来 N 行,每行包含一个 URL。最后一行是数字 T(超时时间,单位为毫秒)。

输出格式

N行,每行包含一个查询结果(响应文本或错误消息)。

main.ts