ember-test 应该什么时候清除它的计时器?
When should an ember-test clear its timers?
我有一个较旧的 Ember-cli 应用程序,我刚刚更新到所有最新的依赖项和文件格式,我 运行 ember init
和 ember-cli@0.2.0-beta.1
,但是当我尝试使用 visit()
助手编写验收测试时,内部 wait
函数永远不会解析。
我能够追踪到的最远的问题是在 bower_components/ember/ember.js
文件中的 wait
函数中,在该行
if (run.hasScheduledTimers() || run.currentRunLoop) { return; }
backburner 上有一个计时器,但一次又一次,循环 returns 这里,似乎永远没有机会清除计时器。
我很确定计时器应该确保 wait
助手在 ajax 请求后等待,但 ajax 请求早已解决。哎呀,如果还有待处理的请求,我们就会退出这个函数。
任何对此过程的见解都将不胜感激!!
我在循环中的应用程序中有一个 Em.run.later
实例,用于递归检查超时。事实证明,这并不少见!
我的解决方案是将 run.later
块放入当前环境的条件检查中,并在测试中禁用它。
我有一个较旧的 Ember-cli 应用程序,我刚刚更新到所有最新的依赖项和文件格式,我 运行 ember init
和 ember-cli@0.2.0-beta.1
,但是当我尝试使用 visit()
助手编写验收测试时,内部 wait
函数永远不会解析。
我能够追踪到的最远的问题是在 bower_components/ember/ember.js
文件中的 wait
函数中,在该行
if (run.hasScheduledTimers() || run.currentRunLoop) { return; }
backburner 上有一个计时器,但一次又一次,循环 returns 这里,似乎永远没有机会清除计时器。
我很确定计时器应该确保 wait
助手在 ajax 请求后等待,但 ajax 请求早已解决。哎呀,如果还有待处理的请求,我们就会退出这个函数。
任何对此过程的见解都将不胜感激!!
我在循环中的应用程序中有一个 Em.run.later
实例,用于递归检查超时。事实证明,这并不少见!
我的解决方案是将 run.later
块放入当前环境的条件检查中,并在测试中禁用它。