2017-01-07 4 views
-1

Ich habe einen Verteilungsserver, der beauftragt wird, eine Anfrage an einen anderen Computer/Server zu senden. Ich benutze request Modul für den Knoten:Wie man doppelte Anfrage von Nodejs verhindert?

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

Wenn der Server nicht die Antwort in der Zeit (wegen der schlechten Verbindung), request.post versuchen Anfrage erneut zu senden.

Ich möchte dies verhindern. Ich weiß, dass ich die Empfangsseite einschränken kann, aber ich möchte es immer noch von der Quelle/dem Server abhalten.

Ich lese das Handbuch und es gibt timeout und time Parameter, aber ich kann nicht herausfinden, wie man es richtig verwendet.

Antwort

0

Ich denke, die manual ziemlich klar ist dieser über

in Ihrem Fall

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); 
}