0
我正在开发一个测验应用程序,它用ember cli.I创建了一个动态路径来加载每个问题的URL问题/:q_id.I想为每个问题设置30 S的计时器。当计时器超过30S时,它应该自动加载下一个问题,计时器应该从第一个问题开始,以便下一个问题。我可以提前在Ember.Thanks中知道如何实现此功能。在Ember CLI测验应用程序中实现计时器
我正在开发一个测验应用程序,它用ember cli.I创建了一个动态路径来加载每个问题的URL问题/:q_id.I想为每个问题设置30 S的计时器。当计时器超过30S时,它应该自动加载下一个问题,计时器应该从第一个问题开始,以便下一个问题。我可以提前在Ember.Thanks中知道如何实现此功能。在Ember CLI测验应用程序中实现计时器
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()
定义
restartable
任务和内等待30秒据显示,指出transitionToRoute不是一个函数在控制台的一些错误。 –确保'this'指的是控制器对象,因为'transitionToRoute'只能用于控制器对象。为了确保,您可以在代码中编写'debugger'语句并检查或使用'console.log('this object',this)' – kumkanillam
可能是您可以更新导致错误的问题。 – kumkanillam