Javascript Meteor observeChanges()在应该调用一次时调用了两次
最新的meteor的observeChanges光标方法似乎被调用了两次,我不确定为什么 在仅限客户端的文件中,有以下代码:Javascript Meteor observeChanges()在应该调用一次时调用了两次,javascript,meteor,Javascript,Meteor,最新的meteor的observeChanges光标方法似乎被调用了两次,我不确定为什么 在仅限客户端的文件中,有以下代码: Meteor.startup(function () { //TODO BROKEN CodeFiles.find({_id: Session.get('currentFile')}).observeChanges({ changed: function(id, fields) { console.log("Codefile
Meteor.startup(function () {
//TODO BROKEN
CodeFiles.find({_id: Session.get('currentFile')}).observeChanges({
changed: function(id, fields) {
console.log("Codefile changed");
console.log(fields);
}
});
});
这将在我的浏览器中产生以下结果:
Codefile changed client.js:165
Object {edits: Object}
client.js:166
XHR finished loading: "http://localhost:3000/sockjs/991/bm7f2oa8/xhr_send". sockjs-0.3.4.js:821
XHR finished loading: "http://localhost:3000/sockjs/991/bm7f2oa8/xhr". sockjs-0.3.4.js:821
Codefile changed client.js:165
Object {}
如您所见,observeChanges方法被调用两次,一次使用正确的编辑对象,一次包含正确的数据。第二次使用空白对象。这不是一个大问题,因为我可以检查一个空对象并进行补偿,但我宁愿修复潜在的问题
完整的开源代码,可在此处查看:
如果运行代码以在javascript控制台中查看问题,请注意特定的提交编号。在以后的提交中,我只是做了一个未定义的检查,但我希望看到根问题得到解决,因为发送无用数据是一个问题。Oops!这可能是一个bug。我明天会在devel上看一下它现在固定在devel上了!非常感谢,我不会基于devel分支开发我的应用程序,但我会在将来的point版本中寻找修复程序。也许是近期?不管怎样,很高兴我能帮你们!我仍然有这个代码的问题:,Meteor 1.2.0.2: