【问题标题】:Meteor - Requests randomly failingMeteor - 请求随机失败
【发布时间】:2015-06-15 17:26:06
【问题描述】:

我有一个奇怪的问题,一些请求随机失败。我不知道是什么导致了这种行为。有时是图像未加载,有时是 ajax 请求(cfs/severtime 或 algolia-search),有时一切都很好。它也发生在本地和在线。这是两个不同的屏幕截图,其中不同的资源在刷新浏览器后无法加载。

【问题讨论】:

  • 你在其他浏览器上是否有同样的问题?

标签: meteor request-cancelling


【解决方案1】:

终于找到了我的问题的根源,也许我的回答会帮助其他 Meteor 开发人员。

我曾经这样做过:

var providersSub = Meteor.subscribe('providers');

Tracker.autorun(function () {
  if(!providersSub.ready())
    return;

  var providerIds = _.pluck(Provider.all().fetch(), '_id'));      
  ...
  this.stop();
});

而不是:

var providersSub = Meteor.subscribe('providers');

Tracker.autorun(function (computation) {
  if(!providersSub.ready())
    return;

  var providerIds = _.pluck(Provider.all().fetch(), '_id'));      
  ...
  computation.stop();
});

【讨论】:

    【解决方案2】:

    看看这个:What does status=canceled for a resource mean in Chrome Developer Tools?

    您的请求似乎没有失败,它们被 chrome 取消了。这通常是因为一些 javascript 改变了 DOM 并且它最终不需要它已经开始请求的资源。页面渲染后是否有任何资源实际上缺失?

    【讨论】:

    • 是的,我已经看过这篇文章,但我无法确定我的模板会被重新渲染的任何地方。是的,所有以红色突出显示的资产实际上都不见了。
    • 很奇怪,如果您还没有尝试在 Template..rendered 以及您设置动态模板或反应变量的任何地方设置断点。如果您可以获得一个示例项目来重现该错误并将其发布在流星垫或 github 上,或者提供一个指向显示错误的实时站点的链接,以帮助找到解决方案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-19
    • 1970-01-01
    相关资源
    最近更新 更多