this.unblock和Meteor.defer之间的区别?

时间:2017-01-17 00:06:15

标签: meteor

在我的方法中,我使用this.unblockMeteor.defer时没有区别。

根据我的理解,这个想法是遵循良好的做法,让来自同一客户端的其他方法调用开始运行,而无需等待单个方法完成。

他们之间有区别吗?

感谢。

1 个答案:

答案 0 :(得分:4)

this.unblock()

  • 仅在服务器上运行
  • 允许来自客户端的下一个方法调用在此调用完成之前运行。这很重要,因为如果你有一个长时间运行的方法,你不希望它在完成之前阻止它。

Meteor.defer()

  • 可以在服务器或客户端上运行
  • 基本上说“当没有其他代码待处理时运行此代码”。它与Meteor.setTimeout(func, 0)
  • 类似

例如,如果您延迟在服务器上执行某个函数,则在下一个方法请求进入时它仍然可以运行并阻止该请求。