我在调用函数时在我的meteor应用程序中注意到了这种模式,比如recordInput:
wait on method : recordInput - 2647 ms
wait on method : recordInput - 1121 ms
wait on method : recordInput - 1714 ms
wait on method : recordInput - 820 ms
所以在我看来,这个被异步调用的函数正在堆叠,因为它被多个用户调用。
我在heroku上运行应用程序,所以如果我想减少等待时间,我会增加dyno的大小或dynos的数量,或者这些变化都不会因为流星而有所不同/ node architecture?
答案 0 :(得分:1)
Meteor为特定用户堆叠方法,我不确定你的设置是否完全确定,但Meteor方法是按特定顺序为特定连接设置的,下一个方法在调用前一个方法之前不会被调用返回结果。
这当然意味着多个连接可以同步运行,这仅适用于相同的连接。
如果您希望每个方法都触发,而不管以前的任何方法是否在堆栈上等待完成,请使用以下方法开始服务器端方法:
Meteor.methods({
your_method_name: function() {
this.unblock();
....
}
});
[1] this.unblock()
上的流星文档:http://docs.meteor.com/#/full/method_unblock