循环很多URL请求如何工作?

时间:2015-07-16 07:35:34

标签: javascript node.js

例如:

for(var i = 0; i < 100000000; i++) {
    requestify.request('http://www.domain.com/' + i)
              .then(function() { // do something; } );
}

那么,NodeJS如何处理这种类型的代码呢?它将尝试发送100000000个请求,或者它会同时请求一些请求并将其余请求放入队列中,这样当活动请求完成后,它会从队列加载更多请求并执行它吗?

我想问这个问题,因为我遇到了类似的问题。我加载了一个包含1,000,000个URL记录的数据库,稍后我会在每个URL上发出请求。所以,我不希望我的程序挂起,因为它试图同时请求这么多。

1 个答案:

答案 0 :(得分:1)

Node会尽可能快地触发这些请求,它不会等待一个完成然后再触发另一个请求。

Javascript是异步的,如果你想控制流程,你可以使用async模块。