0
有没有办法在发布消息之前全局自动修改消息?沿着jQuery ajax的beforeSend
。socket.io v1.1 beforeSend?
现在,我正在为每个emit
手动添加一个时间戳到有效负载,并且它会比自动完成的错误更容易出错。
谢谢!
有没有办法在发布消息之前全局自动修改消息?沿着jQuery ajax的beforeSend
。socket.io v1.1 beforeSend?
现在,我正在为每个emit
手动添加一个时间戳到有效负载,并且它会比自动完成的错误更容易出错。
谢谢!
您可以覆盖.emit()
方法(保存原来如此,你可以称呼它),或者如果你控制所有调用.emit()
的代码,那么就使自己的方法,增加了时间戳的有效载荷,然后调用.emit()
。
修补原来.emit()
,你可以这样做:
(function() {
var origEmit = Socket.prototype.emit;
Socket.prototype.emit = function(msg, data) {
if (typeof data === "object") {
data.timeStamp = Date.now();
}
return origEmit.apply(this, arguments);
}
})();
要创建自己的EMIT方法所有的代码可以使用,你可以这样做:
Socket.prototype.emitT = function(msg, data) {
if (typeof data === "object") {
data.timeStamp = Date.now();
}
return this.emit.apply(this, arguments);
}
是的,看起来像在这一点上它必须是这样。我希望有一个内置的钩子来避免必须做猴子修补或编写包装功能。 – lastoneisbearfood 2014-10-14 05:36:34