本文介绍了SetTimeout与Ember.run.later在一个ember应用程序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

 今天的日期:{{currentDate}} 
当前时间:{{currentTime

在我的助手里面:

  Ember.Handlebars.registerBoundHelper'currentDate',(选项) - > 
moment()。format('LL');

Ember.Handlebars.registerBoundHelper'currentTime',(选项) - >
moment()。format('h:mm:ss a');

如何每1秒更新一次currentTime到视图?



我已经阅读了Ember的建议,但我无法确定哪里放置它,以及如何使用这个帮助器调用它。

解决方案

您可以像通常使用setTimeout一样使用ember.run.later

  Ember.run.later((function(){
//在这里执行的操作将在2秒内运行
}),2000);

我不是内部的,但我知道集成测试ember要求您使用run.later (如果您没有测试代码不会等待超时完成)


Inside my handlebars template:

Today's date: {{currentDate}}
Current Time: {{currentTime}}

Inside my helpers:

Ember.Handlebars.registerBoundHelper 'currentDate', (option) ->
  moment().format('LL');

Ember.Handlebars.registerBoundHelper 'currentTime', (option) ->
  moment().format('h:mm:ss a');

How would I go about updating the currentTime to the view every 1 second?

I have read the Ember recommends Ember.run.later but i can't quite figure out where to put it and how to call it using this helper.

解决方案

You can use ember.run.later like you would normally use setTimeout

Ember.run.later((function() {
  //do something in here that will run in 2 seconds
}), 2000);

I'm not of the internals but I know that integration testing ember requires that you use run.later (if you don't the test code won't wait for the timeout to finish)

这篇关于SetTimeout与Ember.run.later在一个ember应用程序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-26 05:52