【发布时间】:2019-11-05 22:27:34
【问题描述】:
我有一个 Meteor 应用程序正在执行一些当前挂起的呼叫。我正在一个循环中处理很多项目,然后将其更新到服务器端 Mongo。 (我认为这是异步完成的)我理解循环中的 upserting 不好。
这整个功能似乎使应用程序挂起一段时间。我什至注意到控制台中出现了 sock.js 和 websocket 错误。我认为这都是由于 DDP、异步 Mongo upserts 和缓慢的请求。 这是我所说的一些伪代码
for (1..A Lot of records) {
//Is this async?
Collection.upsert(record)
}
最终这个功能会完成。但是,我会注意到 Meteor “重新启动”(我认为这是真的,因为我看到 Accounts.onLogin 再次被调用。这几乎就像客户端在慢速请求实际完成后刷新一样。这导致看起来像无限循环。
我的问题是为什么应用程序正在“重新启动”。这是由于框架中的某些东西以及它如何处理缓慢的请求吗? IE。它是否会将所有错误请求排队并最终自动重试?
【问题讨论】:
标签: javascript node.js mongodb meteor