我正在做一个扫描器,你给它一个id,它会检查那个网站的特定数据。我试着让它更快,但不知道怎么做。
现在我使用的是一个网络刮板和一个运行速度为10ms的SetInterval循环。
由于某些原因,它每秒只发送5-10个请求。怎样才能让它更快呢?
(请求以parralel表示)
setInterval(() => {
API(id) /// The function that calls the http request.
console.log(id)
id++
}, 10);发布于 2020-10-25 20:42:51
您应该使用以下命令异步完成此操作:
let urls = [ 'http://....', .... ];
async function checkUrls (list) {
let promises = []
urls.forEach(u => promises.push(getUrl(e))
return Promise.all(promises)
}
// run it
checkUrls(urls)
.then(...)将getUrl函数替换为对您使用的抓取库的调用,如axios或request。
https://stackoverflow.com/questions/64523675
复制相似问题