Hi I'm trying ping a port from nodejs. I use tcp-ping module. I want return available value from tcp.probe function. But i cant. Here is my code
var tcpp = require('tcp-ping');
function ping_port(callback){
tcpp.probe('10.5.177.52', 8080, function(err, available) {
    return_value = available;
    callback(available);
});
    }
function read() {
    console.log("Read done")
  return return_value;
 }
module.exports.ping = function()
{
    var port_status = ping_port(read);
    console.log(port_status);
    return port_status;
}
I resolved my problem by waiting for return_value varrible not equals undefined.Here is my code.
var tcpp = require('tcp-ping');
var return_value;
module.exports.ping = async function(page,ip)
{
   tcpp.probe(ip, 8080, function(err, available) {
    return_value = available;
}); 
 while(return_value === undefined)
 await page.waitFor(100);
 return return_value;
}
The page is a puppeteer modules function. I call await foo.ping('page' , 'ip') from my main async function and its done.
I'm sorry about my bad English and coding. I'm beginner in coding. 
 
    