我有一个node js脚本,它发送https请求并循环通过文本文档中的一大串字符串列表。问题是,这需要很长时间才能在所有这些上执行。我希望能够更快地执行此任务。
这是密码
const request = require('request');
const fs = require('fs');
const ids = fs.readFileSync('./list.txt', 'utf-8').split('\n');
let count = 0;
let i = 0;
let a = () => {
setInterval(() => {
const id = ids[i].trim();
request.get(`https://websitethingy.com/endpoint/${id}`, {
headers: {
"User-Agent": "Android/126021",
"Authorization": "auth_token"
},
body: ``
}, (err, res, body) => {
if (!err && res.statusCode == 404) {
console.log("not found", id);
}
console.log(body);
count += 1;
process.title = `[total requests: ${count}]`;
});
++i;
if(i === ids.length) i = 0;
}, 1);
}
a();
它每毫秒循环一次整个列表,每秒执行大约900个请求,我似乎找不到更快的方法来执行这项任务。
1条答案
按热度按时间v8wbuo2f1#
您可以使用
.forEach
循环更快地执行循环。Node.js
香草精JS