当应该调用一次时,Meteor observeChanges()调用两次

时间:2013-02-22 02:55:01

标签: javascript meteor

最新的meteor的observeChanges光标方法似乎被调用了两次,我不确定为什么。

在仅客户端文件中,有以下代码:

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方法被调用两次,一次使用正确的编辑对象,包含正确的数据。第二次有空白对象。这不是一个大问题,因为我可以检查一个空对象并进行补偿,但我宁愿解决潜在的问题。

完整的代码开源和可查看: Github commit link

如果您运行代码以在javascript控制台中查看问题,请注意特定的提交编号。在稍后的提交中,我只是做了一个未定义的检查,但我希望看到根问题得到解决,因为发送无用数据是一个问题。

0 个答案:

没有答案