【问题标题】:Meteor IronRouter waitOn Infinite loopMeteor IronRouter waitOn 无限循环
【发布时间】:2017-01-19 00:28:53
【问题描述】:

我使用 IronRouter 为我的流星应用程序设置了一个非常标准的设置。我遇到的问题是,我试图根据来自第三方网站的 url 中的一些令牌将某人重定向到一个页面,但是当用户通过 Router.go 从 Accounts.onLogin 回调发送到他们的目的地时(“一些/有趣/网址”); waitOn 函数无休止地运行。 以下是设置的相关部分。

首先是我要重定向到的路线:

Router.route("/shows/:show_acronym/sponsorships", {
    name:"sponsorshipsSalesPortal",
    data:function(){
        return {show:Shows.findOne({acronym:this.params.show_acronym})};
    },
    waitOn:function(){
        console.log("wait on");

        return [Meteor.subscribe("show_by_acronym",this.params.show_acronym),Meteor.subscribe("catalogue_products_by_acronym", this.params.show_acronym)];

    }
});

接下来是onLogin钩子的相关部分:

Accounts.onLogin(function(){
    if (Session.get("showToRedirectTo")){
      console.log("sending to sponsorship portal");
      var ur ="/shows/"+Session.get("showToRedirectTo")+"/sponsorships"

      return Router.go(ur);
    }
});

当它到达重定向时,url 会发生变化,并且“等待”消息会永远打印在控制台中。有谁知道解决这个问题?如果可能的话,我更愿意将我的所有订阅都保留在路由器级别。

谢谢

【问题讨论】:

    标签: meteor iron-router


    【解决方案1】:

    您应该只在 waitOn 返回数组中返回订阅游标 (Meteor.subscribe(*))。 在您的情况下,“this.params.show_acronym”是问题所在......

    【讨论】:

      【解决方案2】:

      实际上你的代码看起来不错,我已经有一段时间没有使用 Iron Router 或 Sessions了。

      但是看看 WaitOn,它似乎没问题,问题可能来自服务器端,show_by_acronymcatalogue_products_by_acronym 抛出错误,但在所有情况下,这应该会导致你得到一个 spinner 加载永远,而不是永远打印的console.log("wait on");

      所以我认为你的Accounts.onLogin 是造成这种情况的原因。

      试试类似的东西。

      Accounts.onLogin(function(){
          if (Session.get("showToRedirectTo")){
            console.log("sending to sponsorship portal");
            var ur ="/shows/"+Session.get("showToRedirectTo")+"/sponsorships"
      
            Router.go(ur);
            Session.set('showToRedirectTo', false)
          }
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-29
        • 1970-01-01
        • 1970-01-01
        • 2015-03-15
        • 2021-09-24
        • 2023-03-12
        相关资源
        最近更新 更多