Javascript 观察对象变化的最低级别方法

Javascript 观察对象变化的最低级别方法,javascript,node.js,Javascript,Node.js,一个实时应用程序,必须在大对象发生变化时立即向所有客户端广播 观察Node.JS对象中任何更改的最低级别方法是什么? 例如,给定对象: var obj = { num: 3, deep: { num: 5 } } 调用以下任一函数后,将触发函数: obj.num=10 obj.num.deep.num=10 obj.num.deep=未定义 等等 可能吗?怎么做? 我不能使用: :因为它使用轮询 getter/setter:因为对象结构未知 根据您的需求,这应该

一个实时应用程序,必须在大对象发生变化时立即向所有客户端广播

观察Node.JS对象中任何更改的最低级别方法是什么?

例如,给定对象:

var obj = {
  num: 3,
  deep: {
      num: 5
  }
}
调用以下任一函数后,将触发函数:

  • obj.num=10
  • obj.num.deep.num=10
  • obj.num.deep=未定义
  • 等等
可能吗?怎么做?


我不能使用:

  • :因为它使用轮询
  • getter/setter:因为对象结构未知

根据您的需求,这应该可以通过公开对象的代理而不是对象本身来实现。 然后可以在代理中截获setter,并从那里触发事件


什么改变了它?@Ryan很难解释,这样做不是为了让问题简单。这是一个卷积神经网络,可以随时改变obj的任何部分。Socket.on('connect')在新用户连接时也会触发此功能。每当它更改
obj
,就会触发一个事件。我认为在这个Conv.N.N.中没有容易连接的方法。事实上,它可能会尝试执行类似
obj.abc.qwe=10
的操作并失败,或
obj.num=10
并实际更改该值。它还可能创建新的属性
obj.temp=98
!我已经调查过了。但是,请看一下这个:。代理的性能不是很好。@adelriosantiago观察对象每次变化的性能不是很好。