变量值未打印到控制台

时间:2018-01-30 01:01:47

标签: node.js function

我有以下功能

child.stderr.on('data', function(data, callback) {
  getEventLog.getId(uuid, function(err, id, code, callback){
    getEventLog.getDuration(id, uuid, function(err, duration, callback){
      jobRun.duration = duration;

        var logMessage =
          "Completed jobRunId " + jobRun.id + " (" + jobRun.jobsId + ") " + jobRun.jobType +
            " run " + jobRun.runNumber + " in " + jobRun.duration +  "ms with exit code " + code;
            console.log(logMessage);
        jobRunDbService.update(jobRun, function(data, error){
          if (error) {
            console.log("ERROR on job run update");
            console.log(error);
            //res.json(error);
            return;
          }
      })
    });
  });
});  

对于console.log(logMessage);,除代码外,所有内容都会正确打印到控制台。它似乎未定义。我的功能有什么问题导致这个问题吗?

2 个答案:

答案 0 :(得分:0)

您的代码似乎没有导致此问题。 “getEventLog.getId”函数显然为您传递了未定义的代码值。

答案 1 :(得分:0)

code不属于那里。应该是在child.stderr.on(' close')。把它移到那里解决了我的问题。

我最终得到了这个:

child.on('close', function(code) {
    ....
});