/**

  • 异步函数,用于获取指定 URL 的 HTML 内容。
  • @param {string} url - 要获取的 URL。
  • @return {Promise} - 返回一个 Promise 对象,其 resolve 值为获取到的 HTML 内容。 */ async function fetchHTML(url) { // 添加一个超时时间 const timeout = 3000;

// 创建一个 AbortController 对象,用于在超时时终止请求。 const controller = new AbortController();

// 创建一个定时器,在超时时间到达时终止请求。 const id = setTimeout(() => controller.abort(), timeout);

try { // 发送请求,并使用 AbortController 对象中的 signal 属性指定请求的终止条件。 const response = await fetch(url, { signal: controller.signal });

// 读取响应内容并转换为字符串。
const data = await response.text();

// 取消定时器,因为请求已经成功完成。
clearTimeout(id);

// 返回 HTML 内容。
return data;

} catch (err) { // 取消定时器,并将错误抛出。 clearTimeout(id); throw err; } }


原文地址: https://www.cveoy.top/t/topic/lPfj 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录