Meteor.call在服务器端没有回调块服务器吗?

时间:2015-08-12 03:37:42

标签: meteor

例如:

server/method.js

Meteor.methods({
  insertPost: function(post) {
      //call another method
      var ret = Meteor.call('longTimeMethod', post.data); // A
      // ...
   }
 })

Meteor doc说

  

如果未在服务器上传递回调,则方法调用将阻塞,直到方法完成。

由于nodejs是单线程,如果A花费60秒,整个服务器在60年代内不会响应任何请求?

1 个答案:

答案 0 :(得分:0)

不,不是整个服务器都会阻塞,只有为这个特定客户端运行的光纤。如果您不希望这样,那么您只需在方法调用之前调用this.unblock(),并且新光纤将用于来自该客户端的未来方法调用,请参阅http://docs.meteor.com/#/full/method_unblock