我有这个 javascript 类:
var Server = (function () {
var spawn = require('child_process').spawn;
function Server(serverDefinition) {
this.definition = serverDefinition;
this.status = false;
}
Server.prototype.start = function () {
this.process = spawn('java', ['-jar', this.definition.jarfile]);
this.status = true;
this.process.on('exit', function(code, signal){
this.status = false;
console.log('Server stopped: code=' + code + ', signal=' + signal);
});
this.process.stdout.on('data', function(data){ console.log('stdout: ' + data);});
this.process.stderr.on('data', function(data){ console.log('stderr: ' + data);});
};
return Server;
})();
我的问题是this
里面的this.process.on('exit', ... )
引用process
,而不是Server
我想要的。
处理此案的最佳模式是什么?一个_self = this
?在这种情况下,应该在哪里插入该行,我应该停止引用this
并只使用它_self
吗?