当我尝试将 PING 请求发送到被 chrome 标记为 DANGEROUS 的网站时,我的 JS 代码中有一些有趣的行为,例如:
我尝试在输入字段中输入网站 url reddit.com,我的 js 从头开始检查所有组合:
1) r - (1) invalid url
2) re - (1) invalid url
3) red - (1) invalid url
4) redd - (1) invalid url
5) reddi - (1) invalid url
6) reddit - (1) invalid url
7) reddit. - (1) invalid url
8) reddit.c - (1) invalid url
9) reddit.co - (1) url valid, (2) check is url exists
10) reddit.com - this step can't be reached because big full-screen error from previous step
如何处理这种行为,如果他真的想要它,就让用户选择它。
我的 JS 代码使 PING
export function fetch_with_timeout(url, options, timeout = 7000) {
return Promise.race([
fetch(url, options),
new Promise((_, reject) => setTimeout(() => reject(new Error('timeout')), timeout)),
]);
}