我正在使用tcp-ping
来ping服务器,然后我想创建一个回调函数,它将数据通过request
库发送到我的数据库。我无法弄清楚如何让回调将数据发送到第二个函数。
问题是没有错误,但Min,Max和Avg的表单数据没有记录在mongodb中。我不知道如何检索数据,或者知道数据是否被发送。
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);
}
})
};
答案 0 :(得分:0)
基本上,您似乎希望将传递给回调的数据参数注入tcpp.ping - 如果成功,则将ping操作的结果 - 注入postPingData函数:
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
}