如何在不挂断的情况下执行多个噩梦功能

How to perform multiple nightmare function without it hanging up


我正在尝试使用 nightmareJS 抓取网页并卡住了。
在我的程序中,我向函数传递了一个链接数组,我需要从所有链接中获取相同的数据
该列表可能很长(超过 60 个),如果我尝试执行

async.each(Links, function (url, callback) {
    var nightmare = Nightmare(size);
    ...
}

只有前几个实例实际上 return 一个值,其他的只是挂断并且不会加载(空白页)。当我尝试只做三个时它完美地工作。
我该如何解决?我如何重新分配工作,例如三个并行,只有当全部完成后才会进行下一组?又一个想法可能使用相同的实例并对所有链接重复这些步骤?

有两种可能的解决方案:

  • 使用 eachSeries 等待一个操作完成后再启动另一个操作。

  • 或者在 async.each 中传递另一个参数,它限制同时有多少操作 运行。