我已经使用nodejs请求包从url下载文件。如果数据最少,则运行正常,但是如果我使用管道使用流下载了1500个文件,则出现以下错误:
捕获到的异常:{“ errno”:“ EMFILE”,“ code”:“ EMFILE”,“ syscall”:“ connect”,“ port”:8080}
我已经使用async.forEach函数获取用于下载文件的网址数组:
var datas = [{
filname:"test.txt",
url:"http://testdomain.com/downloadurl"
}];
async.forEach(datas, (values, callback) => {
config.lib.request.get(values.url)
.on('end', function(datas){
config.lib.fs.end();
console.log(values.filename + " downloading is
finish...");
})
.pipe(config.lib.fs.createWriteStream(values.filename))
.close()
callback();
}, () => {
return resolve(datas);
})