Javascript 杀死子进程执行器

Javascript 杀死子进程执行器,javascript,html,node.js,Javascript,Html,Node.js,我需要你的帮助。 我想通过ifconfig.me获取Beaglebone的公共IP地址 如果我有一个现有的互联网连接,它可以正常工作。如果我没有互联网连接,请求应该被中止。 这是我的密码: function publicIP_www(callback){ try{ exec('curl ifconfig.me',{timeout:3000}, function(error, stdout, stderr){ callback(stdout); }); } c

我需要你的帮助。 我想通过ifconfig.me获取Beaglebone的公共IP地址

如果我有一个现有的互联网连接,它可以正常工作。如果我没有互联网连接,请求应该被中止。 这是我的密码:

function publicIP_www(callback){
  try{
     exec('curl ifconfig.me',{timeout:3000}, function(error, stdout, stderr){ 
     callback(stdout); }); 
  } 
  catch (err){
     callback("000.000.000.000");
  }
}
然后,返回的IP地址将显示在浏览器的网站上。 如果没有internet连接,浏览器将永远计算。似乎电话主管。。。。。。没有终止

我期待着你的支持,希望有人能告诉我我做错了什么


向Hans致意

很难预测为什么在您的情况下它不起作用,因为无法看到您的代码。但你可以试试下一个,效果很好。当然是脏的,这只是一个例子

下一个代码是“Node.js Express App+Jade”项目的index.js文件,该项目是根据WebStorm IDE中的模板创建的

const util = require('util');
const exec = util.promisify(require('child_process').exec);

....
....

router.get('/', async function(req, res, next) {
  try {
    const {stdout, stderr} = await exec('curl ifconfig.me');
    res.render('index', { title: stdout});
  }
  catch (err) {
    res.render('index',{ title: "000.000.000.000"});
  }
});

或使用

const util = require('util');
const exec = require('child_process').exec;

function publicIP_www(callback){
  exec('curl ifconfig.me',{timeout:3000}, function(error, stdout, stderr){
    if (error) {
      return callback("000.000.000.000");
    }
    callback(stdout);
  });
}


router.get('/', function(req, res, next) {
  publicIP_www((title) => {
    res.render('index', { title });
  })
});


你的回调函数是什么?您还需要向我们展示发送响应的部分。