【发布时间】:2015-06-15 17:26:06
【问题描述】:
我有一个奇怪的问题,一些请求随机失败。我不知道是什么导致了这种行为。有时是图像未加载,有时是 ajax 请求(cfs/severtime 或 algolia-search),有时一切都很好。它也发生在本地和在线。这是两个不同的屏幕截图,其中不同的资源在刷新浏览器后无法加载。
【问题讨论】:
-
你在其他浏览器上是否有同样的问题?
我有一个奇怪的问题,一些请求随机失败。我不知道是什么导致了这种行为。有时是图像未加载,有时是 ajax 请求(cfs/severtime 或 algolia-search),有时一切都很好。它也发生在本地和在线。这是两个不同的屏幕截图,其中不同的资源在刷新浏览器后无法加载。
【问题讨论】:
终于找到了我的问题的根源,也许我的回答会帮助其他 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();
});
【讨论】:
看看这个:What does status=canceled for a resource mean in Chrome Developer Tools?
您的请求似乎没有失败,它们被 chrome 取消了。这通常是因为一些 javascript 改变了 DOM 并且它最终不需要它已经开始请求的资源。页面渲染后是否有任何资源实际上缺失?
【讨论】: