如何防止nodejs重复请求?

时间:2017-01-07 02:47:18

标签: node.js request

我有一个分发服务器,其任务是将请求发送到另一台计算机/服务器。我对节点使用request模块:

var request     = require('request');
var destination = "http://anotherserver.com/api"
var params      = {};
request.post(destination, {form: params}, function(err, response, body) {
   // do processing here
}

如果服务器未及时得到答案(由于连接错误),request.post会尝试重新发送请求。

我想阻止这一点。我知道我可以对接收方施加限制,但我仍然希望阻止来自源/服务器。

我阅读了手册以及timeouttime参数,但我无法弄清楚如何正确使用它。

1 个答案:

答案 0 :(得分:0)

我认为manual对此很清楚

在你的情况下,

var request     = require('request');
var destination = "http://anotherserver.com/api"
var params      = {};
request.post(destination, {form: params, timeout: 1500}, function(err, response, body) {
    console.log(err.code === 'ETIMEDOUT');
    // Set to `true` if the timeout was a connection timeout, `false` or
    // `undefined` otherwise.
    console.log(err.connect === true);
    process.exit(0);
}