socket.io 客户端拦截 emit 的数据的方法?

socket.emit("action",data,cb)
客户端 emit 的时候希望能够拦截 data,统一添加或修改部分属性,请问有什么好的方案吗?

阅读 3.5k
2 个回答

将socket.emit方法统一封装

function sokcetEmit(action,data,cb){
    //对数据统一处理
    socket.emit(action,data,cb)
}

之后发送socket数据就直接调用sokcetEmit(action,data,cb)

楼上说的统一封装入口是个很好的办法,如果不想影响现有业务也可以直接在实例上代理掉emit函数

const emit = socket.emit;
socket.emit = function (action, data, cb) {
  // your code
  
  emit(action, data, cb)
};
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题