流星:"exception in template helper"

Meteor: "exception in template helper"

我在 Meteor 中有一个基本的 post 流 运行,它来自 Posts 集合。该模板由以下进入集合的模板助手提供:

    Template.postStream.helpers({
        /* Supplies posts collection to the client
        *  view. */
        postsStream: function(){
            var loggedUser = Meteor.user();
            return Posts.find({ userID: loggedUser._id });
        },

    });

助手似乎一切正常,post 显示如预期。但是,我在控制台中收到了这个模糊的错误,我不知道如何清除它: Exception in template helper: postsStream@http://localhost:3000/client/views/stream/post-stream.js?37c902af708ff817888efc24c4e45f352cfb6884:6:41

字符 6:41 对应于 loggedUser._id 字符串的中途。怎么回事?

当第一次 运行 你的应用程序时,助手将被执行 Meteor.user() 返回 null 因为登录恢复过程需要几毫秒。

你需要一个守卫来阻止访问 loggedUser._id,否则你会得到一个例外。

return Posts.find({ userID: loggedUser && loggedUser._id });