"Object is not a function" 在流星路线中

"Object is not a function" in a Meteor route

我刚刚创建了两条工作正常的路由,但我在控制台中遇到了一个我想修复的奇怪错误。

Exception in callback of async function: TypeError: object is not a function at OnBeforeActions.loginRequired (http://localhost:3000/client/router/config.js?8cea1a53d7ab131377c2c4f91d534123cba79b70:12:20)

我每次访问同一页面时都会出现此错误。

这是我的 config.js 文件:

Router.configure({
    layoutTemplate: "uMain"
});

var OnBeforeActions = {
    loginRequired: function (pause) {
        "use strict";
        if (!Meteor.userId()) {
            this.render("uLogin");
            return pause();
        } else {
            this.next();
        }

    }
};

Router.onBeforeAction(OnBeforeActions.loginRequired, {
    except: ["uLogin"]
});

想法是将所有未登录的用户重定向到 "uLogin"。 它有效(或者到目前为止我还没有发现任何错误)。

我做错了什么?

当您在控制台中单击 link http://localhost:3000/client/router/config.js?8cea1a53d7ab131377c2c4f91d534123cba79b70:12:20 时,您可以在开发人员控制台中看到错误行。

您的问题是新的 Iron Router 不再使用 pause()。从 onBeforeAction 中删除暂停。

开发者控制台是你的好朋友。了解如何使用它。