Meteor上的长计算

时间:2014-04-02 18:11:58

标签: node.js asynchronous meteor nonblocking

我在Node.js中了解到你在长计算之间yield以防止服务器阻塞。你如何在Meteor上实现这一目标?是否有技术可以在客户端上执行此操作?

我是网络开发的新手,很欣赏简单的例子。

2 个答案:

答案 0 :(得分:2)

Meteor使用的Fibers与通常的Node.js代码略有不同。我相信没有必要手动屈服。相反,您可能希望在服务器端使用this.ublock()方法 - 请参阅详细解释它的this精彩文章。

如果你在客户端做了一些非常繁重的事情(比如计算Mandelbrot集),请用defer分割执行:

_.defer(function() {
  doSomethingQuiteLong();
  _.defer(function() {
    doSomethingQuiteLongAgain();
    ...
  });
});

答案 1 :(得分:1)

这是有趣的事情:

"在Meteor中,您的服务器代码在每个请求的单个线程中运行,而不是以Node的典型异步回调样式运行。我们发现线性执行模型更适合Meteor应用程序中的典型服务器代码。" - http://docs.meteor.com/#structuringyourapp

似乎没有必要担心node.js的限制。但那意味着什么呢?