我有从服务器发出 HTTP get 调用的代码,使用 EJSON.parse 解析来自 url 的数据(最初为 JSON 格式),然后将解析数据中的信息添加到 Meteor 集合中。它运行良好,但在更新到 Meteor 0.6.5 后一段时间,代码停止工作。在我的代码中,我在服务器启动时删除了集合的所有成员,然后再进行 HTTP 调用并插入到集合中。在查看控制台中的内容时,我注意到一些奇怪的事情:该集合包含不再存在的信息。我已经删除了进行 HTTP 调用并插入到集合中的代码,但集合中仍然存在对象。事实上,集合中的一些对象包含来自前一天的来自 url 的信息,并且不再位于 url 中。怎么会这样?
编辑:这里是 HTTP 调用的一些代码:
Halls = new Meteor.Collection("halls");
...
if (Meteor.is_server) {
Meteor.startup(function () {
Halls.remove({});
var result = HTTP.call("GET", "http://claremontcollegemenus.appspot.com/json");
var parsedData = EJSON.parse(result.content);
for (date in parsedData.dates) {
if (parsedData.dates[date].date == today) { // Check for today's date
for (var menu in parsedData.dates[date].menus){
Halls.insert({name: parsedData.dates[date].menus[menu].name, meals: parsedData.dates[0].menus[menu].meals, date: parsedData.dates[date].date});
}
}
}
});
}
另外,我评论if (Meteor.is_server) {
(导致错误)然后取消评论,现在集合中没有任何内容。