Request.pipe() 未处理的错误异常 Nodejs

Request.pipe() unhandled Error exception Nodejs

我正在尝试抓取我公司的网站,我想将所有现有图像下载到一个文件中。我正在使用 request.pipe() 来执行此操作,但它给出了未处理的错误异常,这是我的代码。可能是什么问题?

$('a').each(function (index, a) {
            var toQueueUrl = $(a).attr('href');
            if(toQueueUrl.indexOf('.jpg') != -1){
                jpgUrlArr.push(toQueueUrl.toString());
            }
            c.queue(toQueueUrl);
        });
        for(var i=0 ; i<jpgUrlArr.length; i++){
            request(jpgUrlArr[i]).pipe(fs.createReadStream(imageStorageFolder + i + '.jpg'));
        }

这里有两个案例:

  1. 尝试下载图像时出现未处理的异常。您需要在错误事件
  2. 上实现 readStream

代码:

var readStream = request(jpgUrlArr[i])
readStream.on('error', function(err){
    console.log(err)
})

readStream.pipe(fs.createReadStream(imageStorageFolder + i + '.jpg'))
  1. 您不能同时下载大量图片。有时您会收到套接字错误。所以尽量限制异步图像加载。例如 - async nodejs 模块

代码:

var async = require('async')
var elements = $('a')

async.eachLimit(elements, 4, function(element){
    // Downloading logic here
})