【问题标题】:Object.observe - Multiple observers support?Object.observe - 多个观察者支持?
【发布时间】:2014-09-08 09:31:14
【问题描述】:

有人可以告诉我Object.observe() 是否(一旦实施)允许通过多次调用注册多个观察者?还是只留下最后一个?

例如,如果我这样做:

Object.observe(obj, myFirstFunction);
Object.observe(obj, mySecondFunction);

当我的对象更新时会调用这两个函数还是只调用mySecondFunction

【问题讨论】:

  • 未来很难预测。
  • @Anko 是的,但也许仔细研究过规格的人可以带来一些启示。

标签: javascript ecmascript-harmony object.observe


【解决方案1】:

我试过了,我知道两者都被调用了。

var obj = {name:'MD'};
var myFirstFunction = function (changes) {
    console.log("First " ,Object.keys(changes[0]))
}
var mySecondFunction = function (changes) {
    console.log("Second ",Object.keys(changes[0]))
}

Object.observe(obj, myFirstFunction);
Object.observe(obj, mySecondFunction);

obj.name = "Mritunjay"

【讨论】:

  • 你是怎么尝试的?我启用了 Google Chrome 的 Experimental JavaScript 标志,但是当我在控制台中写入 Object.observe 时,它会输出 undefined。我有 Chrome 35,根据this 表,它应该可用。有什么线索吗?
  • 我在普通的 chrome 控制台中尝试过,它不工作,然后我尝试使用节点。 chrome中的同样错误。尝试
  • @Flawyte 见here 它说Update April 29th: Object.observe has been pushed back to Chrome 36.
猜你喜欢
  • 2018-05-31
  • 1970-01-01
  • 2021-04-13
  • 1970-01-01
  • 1970-01-01
  • 2018-06-11
  • 2011-06-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多