2017-01-23 74 views
0

我正在开发一个测验应用程序,它用ember cli.I创建了一个动态路径来加载每个问题的URL问题/:q_id.I想为每个问题设置30 S的计时器。当计时器超过30S时,它应该自动加载下一个问题,计时器应该从第一个问题开始,以便下一个问题。我可以提前在Ember.Thanks中知道如何实现此功能。在Ember CLI测验应用程序中实现计时器

回答

0

ember-concurrency插件是此用例的最佳选择。
github上:https://github.com/machty/ember-concurrency
文档:http://ember-concurrency.com/#/docs/task-concurrency

您可以通过使用产量

taskName: task(function *(){ 

    //Have condition for exiting 
    yield timeout(30000); 
    //transitionTo other question after 30Sec 

}).restartable() 
+0

定义restartable任务和内等待30秒据显示,指出transitionToRoute不是一个函数在控制台的一些错误。 –

+0

确保'this'指的是控制器对象,因为'transitionToRoute'只能用于控制器对象。为了确保,您可以在代码中编写'debugger'语句并检查或使用'console.log('this object',this)' – kumkanillam

+0

可能是您可以更新导致错误的问题。 – kumkanillam