Node.js:如何检查生成是否成功?

时间:2019-05-28 14:00:43

标签: node.js express child-process spawn

我从我的快速脚本中发出了一条命令,但是我需要区分错误和成功。我一直在寻找child.on('success'...)函数,但是它不存在。

这段代码(当然)不起作用。

app.get(myID+'/test/', function(req, res){ 
        var child = spawn('lbg');
        child.on('error', function(err) {
                console.log('Failed to start child process.');  
                res.status(404).send("Cannot send test command");
                return;
        });
        res.json({statusMessage: "OK", statusCode: "200"});

 });

换句话说,我只需要触发正确的响应,而不是两者都触发!

2 个答案:

答案 0 :(得分:3)

app.get(myID+'/test/', function(req, res){ 
        var child = spawn('lbg');
        child.on('close', code => {
          if (code === 0) {
             res.json({statusMessage: "OK", statusCode: "200"});
          } else {
             res.status(404).send("Cannot send test command");
          }
        }).on('error', err => res.status(404).send(err)) ;
});

答案 1 :(得分:0)

app.get(myID+'/test/', function(req, res){ 
        var child = spawn('lbg');
        child.on('error', err => {
          if (err) {
             res.status(404).send("Cannot send test command");
          } else {
             res.status(200).send("Ok");
          }
        });
});