我假设这是一个范围问题。
var EventEmitter = require('events').EventEmitter;
var myevent      = new EventEmitter();
var mydata       = 'my data!';
function myfunc (data, mydata) {
  console.log(data);
  console.log(mydata);
};
myevent.on('data', function(data, mydata) {myfunc(data,mydata)});
myevent.emit('data', "data!");返回:
data!
undefined我想让它返回:
data!
my data!发布于 2012-10-06 03:43:57
回调参数列表中的参数mydata隐藏了同名的全局变量。
因为您没有在该位置传递任何参数,所以它的值为undefined。
以下任一项:
myevent.emit('data', "data!", mydata);附言:
myevent.on('data', function(data, mydata) {myfunc(data,mydata)});最好写成:
myevent.on('data', myfunc);https://stackoverflow.com/questions/12752985
复制相似问题