【发布时间】:2017-08-28 18:11:27
【问题描述】:
我正在尝试为 socket.io 的 emit() 和 on() 方法创建一个适合我需要的自定义版本。 我能够像这样为 emit() 方法做到这一点:
socket._emit = function () {
console.log('socket._emit ', arguments);
event = arguments[0];
data ={
'username': user.username,
'token': user.token,
'data': arguments[1]
};
socket.emit.apply(this, [event, JSON.stringify(data)]);
};
我对 on() 方法有问题,因为我无法获取回调函数的数据,所以现在我的自定义 _on() 没有做任何特别的事情,只是调用默认的 on( )。
socket._on = function () {
socket.on.apply(this, arguments);
};
我的目标是记录 on() 方法的回调接收到的每个数据。我尝试了类似的方法,但没有成功。
socket._on = function () {
callback = function(){
console.log('socket._on ', //arguments from arguments[1]()//);
arguments[1]();
}
socket.on.apply(this, [arguments[0], callback()]);
};
知道如何改进我的测试吗?
谢谢,亚历山德罗
【问题讨论】:
-
你解决了吗?
-
是的,我能够从回调中获取一些数据。我用代码发布了一个答案。
标签: javascript node.js sockets websocket socket.io