有没有办法在发出消息之前全局自动修改消息?类似于 jQuery ajax 的beforeSend
.
现在,我正在为每个负载手动添加时间戳,emit
自动完成该操作更不容易出错。
谢谢!
有没有办法在发出消息之前全局自动修改消息?类似于 jQuery ajax 的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);
}