如何在当前runloop结束时运行某些东西?

时间:2013-01-14 20:37:45

标签: ember.js

我想推迟一个操作,直到所有绑定都已刷新并且当前的runloop已经完成。我该怎么做?

1 个答案:

答案 0 :(得分:7)

使用Ember.run.schedule方法:

 Ember.run.schedule(queue[, context], callback[, *args]);

此处,queue是运行循环队列(例如'actions'),callback是您要执行的功能。例如:

 Ember.run.schedule('actions', function() {
   console.log('I run at the end of the current runloop');
 });

相关地,为了防止该函数多次运行,请使用Ember.run.once(您可能也看到它被称为scheduleOnce):

 Ember.run.once([context,] callback[, *args]);

这将在'actions'队列中运行回调。

(更新;感谢@machty进行更正!)