在Ember.js中的何处/如何创建后台函数/线程?
我想在Ember应用程序的后台运行一个函数。我也在使用余烬数据。Ember.js是否有创建后台函数/线程的特殊方法 假设我有一个带有在Ember.js中的何处/如何创建后台函数/线程?,ember.js,Ember.js,我想在Ember应用程序的后台运行一个函数。我也在使用余烬数据。Ember.js是否有创建后台函数/线程的特殊方法 假设我有一个带有while(true)的函数,它可以永远运行,执行我希望它执行的操作。在余烬应用程序中,我应该将该功能放在哪里 更新:以下是一些方法(如果可以单击,您可以在jsbin中查看示例): 在Ember.run.later上使用Ember.run.schedule。见和 。用户界面似乎运行平稳 在Web Worker中使用setInterval() Ember.run.
while(true)
的函数,它可以永远运行,执行我希望它执行的操作。在余烬应用程序中,我应该将该功能放在哪里
更新:以下是一些方法(如果可以单击,您可以在jsbin中查看示例):
- 在
上使用Ember.run.later
。见和Ember.run.schedule
- 。用户界面似乎运行平稳
- 在Web Worker中使用setInterval()
Ember.run.schedule
或later
比setInterval好多少?据我所知,JavaScript是单线程的。Ember无法控制浏览器如何创建/处理线程。浏览器中的Javascript在单线程中运行,甚至setTimeout、setInterval、ajax等都在同一线程中运行。更多信息,请参阅John resig的那篇文章。在其他线程中运行东西的唯一方法是使用web workers,但这只适用于现代浏览器。@Márcio Rodrigues Correa Júnior,谢谢。在余烬应用程序中,我应该把setTimeout放在哪里?我想在任何地方都可以。但不要使用setTimeout
。您需要使用Ember.run。稍后
查看文档