问题描述
预期行为:
行为:
尝试过的方法:
我尝试使用退货;声明:那什么也没做。我也尝试使用 continue;语句,出错了。我还尝试将整个内容包装在 trycatch 中,这导致了相同的行为。
代码:
function readProxies() {
const rl = readline.createInterface({
input: fs.createReadStream(debug.proxy_file),output: process.stdout,terminal: false
});
rl.on('line',(line) => {
var ipPattern = new RegExp(/(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}/g);
var justIp = ipPattern.exec(line);
var oneProxy = ip2proxy.getAll(justIp[0])
if (oneProxy.Is_Proxy == 0) {
console.log('worked')
fetch('https://returning-json.workers-sites-examples.workers.dev/',{
agent: new ProxyAgent(debug.protocol + '://' + line,{
tunnel: true,// If true,will tunnel all HTTPS using CONNECT method
timeout: 2000,// Time in milli-seconds,to maximum wait for proxy connection to establish
})
})
.then(res => res.text())
.then(body => console.log(body))
.catch(err => {
console.log(err)
})
} else {
console.log('not worked')
}
});
rl.on('close',() => {
console.log('closed')
});
}
解决方法
编辑:derpirscher,谢谢!
打印在控制台上的“关闭”让我了解了正在发生的事情。事实证明,一切都很顺利,我只需要在 catch 语句中放一个 return;
,然后用更多的代理填充 debug.proxy_file。其中只有一个通过了第一次检查,所以只有一个被测试是有道理的。感谢您的帮助!