2016-12-16 2 views
0

Ich verwende tcp-ping, um einen Server zu pingen, und dann möchte ich eine Rückruffunktion machen, die die Daten an meine Datenbank über die request-Bibliothek POST wird. Ich habe Probleme herauszufinden, wie Sie den Rückruf erhalten, um Daten an die zweite Funktion zu senden.Wie übergebe ich Rückrufdaten an die zweite Funktion in Node.js?

Das Problem ist, dass es keinen Fehler gibt, aber die Formulardaten für Min, Max und Avg werden nicht in mongodb aufgezeichnet. Ich weiß nicht, wie ich die Daten abrufen kann oder ob die Daten überhaupt gesendet werden.

tcpp.ping({ address: 'www.google.com' }, function(err, data) { 

    postPingData(function(err, data){ 
     if(err){ 
     console.log(500, { error: 'something blew up' }); 
     } else { 
     console.log(data); // I understand this is incorrect, but I don't know how else I'm supposed to send data. 
     } 
    }); 

    console.log(data); 
}); 

var postPingData = function(callback){ 
    console.log(callback); 
    request.post({ 
     headers: {'content-type' : 'application/x-www-form-urlencoded'}, 
     url:  'http://localhost:8080/api/pingdata', 
     form: { 
        ping_id: "5852fd1976ba7111cd9b78aa", 
        min: callback.min, 
        max: callback.max, 
        avg: callback.avg 
       } 
    }, function(error, response, body){ 

    if (!error && response.statusCode == 200) { 
     status = "succeeded"; 
     callback(null, {status : status}); 
    } else { 
     callback(error); 
    } 
    }) 
}; 

Antwort

0

Im Wesentlichen scheint es Sie die Daten Argument für den Rückruf an tcpp.ping weitergegeben injizieren wollen -, die das Ergebnis des Ping-Betrieb sein wird, wenn erfolgreich - auf Ihre postPingData Funktion:

tcpp.ping({ address: 'www.google.com' }, function(err, data) { 

    postPingData(data, function(err, data){ 

    ... 

var postPingData = function(data, callback){ 

    ... 

    form: { 
      ping_id: "5852fd1976ba7111cd9b78aa", 
      min: data.min, 
      max: data.max, 
      avg: data.avg 
      } 
Verwandte Themen