我有以下功能
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);
,除代码外,所有内容都会正确打印到控制台。它似乎未定义。我的功能有什么问题导致这个问题吗?
答案 0 :(得分:0)
您的代码似乎没有导致此问题。 “getEventLog.getId”函数显然为您传递了未定义的代码值。
答案 1 :(得分:0)
code
不属于那里。应该是在child.stderr.on(' close')。把它移到那里解决了我的问题。
我最终得到了这个:
child.on('close', function(code) {
....
});