Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Ember.js中的何处/如何创建后台函数/线程?_Ember.js - Fatal编程技术网

在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.

我想在Ember应用程序的后台运行一个函数。我也在使用余烬数据。Ember.js是否有创建后台函数/线程的特殊方法

假设我有一个带有
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。稍后
查看文档