例如:
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年代内不会响应任何请求?
答案 0 :(得分:0)
不,不是整个服务器都会阻塞,只有为这个特定客户端运行的光纤。如果您不希望这样,那么您只需在方法调用之前调用this.unblock()
,并且新光纤将用于来自该客户端的未来方法调用,请参阅http://docs.meteor.com/#/full/method_unblock。