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