如果方法是非阻塞的,则在方法中使用this.unblock

时间:2015-12-06 03:43:46

标签: javascript meteor

我想知道如果方法已经非阻塞,我是否需要在Meteor方法中使用this.unblock()

这是一个人为的例子:

Meteor.methods({
  myMethod() {
    this.unblock();

    someAPIWrapper(params, function (err, res) {
      // do something with res asynchronously
    });
  }
});

myMethod使用一些node.js包装器为第三方API进行HTTP调用。它是异步的。

在这种情况下,使用this.unblock()

是否会带来性能提升

1 个答案:

答案 0 :(得分:2)

基本上没有。

this.unblock()允许从单个客户端执行有序方法调用,以便在新光纤内继续执行,因为当前的光纤被同步操作阻止。

因此,只要您的方法体不执行阻止当前光纤的任何工作,您就不需要显式取消阻塞它。实际上,由于新的不必要的光纤的产生,可能甚至会导致其自身的开销。