javascript - 从node.js发送请求到apache2.2.21

标签 javascript node.js apache httprequest http-request

对于 Node 服务器的每个请求,我都会多次调用函数 dorequest。 我对在 apache2.2.21 上运行的网页的请求有问题。几乎这些请求都没有任何问题地完成,但有几个请求以错误 ECONNRESET 结尾,我不知道为什么。如果我使用 apapche2.4 那么一切都会顺利。

var request = require('request');

function dorequest(set, callback){
    request.get(url, function optionalCallback(err, httpResponse, body){
        if (err){
            console.log(url);
            throw err;
        } else {
            //do some stuffs 
        }
    });
}

最佳答案

可能您的 apache 服务器只是丢弃您的请求,因为 dorequest 函数同时发起的连接过多。

您可以通过在前一个请求的回调中调用下一个请求来调用另一个请求的回调来执行这些请求,但由于它们的数量相当多,并且出于审美原因,我建议使用 async library -在处理此类事情时,它非常棒并且非常方便。

function dorequest(set, callback){
    request.get(url, function optionalCallback(err, httpResponse, body){
        if (err){
            callback(err);
        } else {
            //do some stuffs 
        }
        callback(err, res);
    });
}

var maxRequestAtATime = 30;

async.mapLimit(arrayOfOptions, maxRequestAtATime, dorequest, function(err, results){
    // results is now an array of stats for each request
});

如果请求的选项取决于前一个请求的选项,则应使用async.waterfall

关于javascript - 从node.js发送请求到apache2.2.21,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35194621/

相关文章:

javascript - 使用 Gulp 时 AngularJS 组件配置错误

node.js - 使用node.js+redis存储平均请求时间

python - 类型错误 : 'CommandCursor' object has no attribute '__getitem__'

javascript - AngularJS,ng-include 不起作用

javascript - 如何突出显示所有匹配的字符串

javascript - 如何设置静态 Webkit 掩码

javascript - jquery tr 选择器不工作

javascript - express-validator - req.checkBody 不是函数

python - 如何在 apache : 10048 "Address already in use" 上捕获 Django 项目中的错误

php - Laravel 5.6 部署的应用程序路由给出 404 错误