[英]How to pass a callback data to second function in Node.js?
我正在使用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);
}
})
};
从本质上讲,您似乎希望将传递给回调的数据参数注入到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
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.