我一直收到错误消息:句柄已经在运行!似乎数组项没有彼此等待。我该如何解决?
const curl = new(require('curl-request'))();
sites = ["disney.com", "surfline.com", "oregon.com", "addiction.com", "www.google.com", "captaindonsfishing.com", "www.surfline.com", "facebook.com", "clevelandclinic.com"];
sites.forEach(function(site) {
console.log(site);
curl.get('https://' + site)
.then(({statusCode}) => {
console.log(site+" "+statusCode);
}).catch((e) => {
console.log(site+" "+e);
});
});
输出:
surfline.com错误:句柄已在运行!
oregon.com错误:句柄已在运行!
addiction.com错误:句柄已在运行!
www.google.com错误:句柄已在运行!
captaindonsfishing.com错误:句柄已在运行!
www.surfline.com错误:句柄已在运行!
facebook.com错误:句柄已在运行!
clevelandclinic.com错误:句柄已在运行!
disney.com [对象参数]
答案 0 :(得分:1)
在第一个请求完成之前,我认为您无法使用相同的curl
对象发送第二个请求。如果要发送多个并发请求,则需要创建多个对象。
const CurlRequest = require('curl-request');
sites.forEach(site => {
console.log(site);
const curl = new CurlRequest;
curl.get('https://' + site).then(...);
});