javascript - Node js child_process.exec文件返回

标签 javascript node.js execfile

我需要使用 node.js 在 C++ 中运行编译文件,并从该文件中返回一个值。 我尝试使用 child_process.execFile,但我没有遇到任何问题。 这是我使用的功能:

var exec = require('child_process');
Test.prototype.write = function (m) {
var wRet;
exec.execFile ('./mainCmd', ['-o', '\\!' + m + '.']
            function (error, stdout, stderr) {
              wRet = stdout;
              console.log ("wRet" + wRet);
              return wRet;
            });
}

问题是“console.log”中的 wRet 包含从文件 c++ 返回的文本,在“return”中仍未定义。

你能帮忙吗?

谢谢大家!

最佳答案

您必须将回调传递给您的 test() 函数:

var chproc = require('child_process');
Test.prototype.write = function(m, cb) {
  chproc.execFile(
    './mainCmd',
    ['-o', '\\!' + m + '.'],
    function(error, stdout, stderr) {
      if (error) return cb(error);
      cb(null, stdout);
    }
  );
};


// usage ...
var t = new Test();
t.write('foo', function(err, result) {
  if (err) throw err;
  // use `result`
});

关于javascript - Node js child_process.exec文件返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23590501/

相关文章:

javascript - 检查密码是否匹配

javascript - 在 javascript 中创建一个用于评论的模型窗口

javascript - 修复使用 margin-auto 时滚动条跳转的问题

javascript - 无法读取回调中未定义问题的属性

Python:来自其他文件工作目录的execfile?

javascript - 读取具有 "error"属性的元素并发出警报

node.js - 在 Node 的 async 模块中使用函数的参数

Python解释器与脚本的关系

python - Python 3 中 execfile 的替代方案?

node.js - 风 sails JS : Select random records from MongoDB?