【问题标题】:Nestjs how to change socket.io message dataNestjs如何更改socket.io消息数据
【发布时间】:2022-02-08 21:38:01
【问题描述】:

如果消息数据不为空,我可以这样编辑值:

context.switchToWs().getData().custom = true

但是,如果消息数据为空,如何更改呢?

【问题讨论】:

    标签: node.js socket.io nestjs


    【解决方案1】:

    请这样试试:

    const data = context.switchToWs().getData();
    
    data = {
      ...data,
      custom: true
    }
    

    【讨论】:

    • 你只是创建一个新对象,context.switchToWs().getData() 仍然是旧值
    • 如果你想改变数据唯一的custom属性,即使数据为空,在设置它之前你需要将空替换为对象并添加custom属性。如果我错了,请澄清您的问题,我会尝试编辑我的答案
    • 是的,我需要将null 替换为对象。但是怎么做呢?我需要context.switchToWs().setData() 之类的东西,所以我可以在流动的拦截器中使用新值
    • 哦,我有问题了。也许这不是使用您提到的方法的好解决方案。您是否尝试过反射和元数据?看来是你需要的docs.nestjs.com/fundamentals/…
    • 自定义值是基于传入的套接字消息数据,所以元数据无法解决我的问题。
    猜你喜欢
    • 2020-10-19
    • 2018-09-23
    • 2021-06-13
    • 2021-12-09
    • 1970-01-01
    • 2015-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多