具有node.js请求模块的多个请求池

时间:2013-06-19 14:30:18

标签: javascript node.js request

我正在使用node.js请求模块来获取URL的内容。它工作得很好,我甚至可以通过maxSockets: XXX让它做更多的并行。

但是,我的代码中有一些地方需要对不同的地方做不同的请求。我希望能够一次创建两个独立的25个请求池,等等。但是,请求模块似乎没有设置构造函数来创建不同的池。

关于我如何做到这一点的建议?

我理想地喜欢以下几行:

var r1 = new request({ maxSockets: 25 });
var r2 = new request({ maxSockets: 25 });

然后开始使用它们来获取东西......

有任何建议如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

我不确定我的问题是否正确 - 也许是因为我从未使用过请求模块。

但是,通过阅读the module README,我认为您可以在项目的某个文件中导出一个默认为您选择的功能。
有点像这样:

function createRequest( url, callback ) {
  return request({
    pool: { maxSockets: 25 },
    // Maybe more things here
    url: url
  }, callback );
}

希望它可以帮到你