有没有办法在发出消息之前全局并自动修改消息? jQuery ajax' s beforeSend
。
现在,我手动为每个emit
的有效负载添加时间戳,并且自动完成更容易出错。
谢谢!
答案 0 :(得分:0)
您可以覆盖.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);
}