2017-08-12 79 views
2

我想用shelljsMATLAB执行COMMANDE并完成后发送响应客户端:发送响应变化

var cmd = 'matlab -nojvm -nosplash -nodesktop -noFigureWindows -minimize -r \" senario(); exit; \"'; 
    shell.exec(cmd, function (code, stdout, stderr) { 
      console.log('matlab exit'); 
     }); 

我不知道怎么弄所以我做了matlab的响应改变一个文件与代码(好,失败),并观看它使用fswatch,我的目标是改变后发送200状态,但它是抛出一个错误,而testin克与邮差。

fs.watch("done.json", function (event, filename) { 
    console.log(filename + ' file Changed ...'); 
     return res.status(200); // I want to Add the response here 
    if (filename) { 
     console.log('filename provided: ' + filename); 
    } else { 
     console.log('filename not provided'); 
    } 
}); 

我知道,好像不

回答

1

我已经promisifying fs.watch

var Promise = require('bluebird'); 
var cmd = ['matlab -nojvm -nosplash -nodesktop -noFigureWindows -minimize -r \" addpath(genpath(\''+ __dirname+'\\..\\uploads\')); '+ nameSenarioToExe+'(); exit; \"'];/// 
    shell.exec(cmd, function (code, stdout, stderr) { 
      console.log('matlab exit'); 
     }); 
    var p = Promise.resolve(DistDir) 
    .timeout(2000) 
    .catch(console.error.bind(console, 'Failed to load config!')) 
    .then(fs.watch(filedir, function(event, who) { 
     if (event === 'rename' && who === filename) { 
      if (fs.existsSync(filedir)) { 
      res.send('OK'); 
      } 
     } 
     })); 
解决这一问题的好办法,这样做的,但任何帮助