簡體   English   中英

節點js child_process.execFile返回

[英]Node js child_process.execFile return

我需要使用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 + +返回,在“返回”中仍然未定義。

你能幫我嗎?

謝謝你們!

您必須將回調傳遞給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`
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM