【Ember.js】ember-lifeline
tracked で追跡している値の状態が変わるような時に、状態が変わる前に次の処理が走ってしまい、うまく描画されない場合がある。
そのような時にsetTimeout() を使うとタイミングを調整できるが、Ember.jsのqueを見ているわけではないため完全に防げない可能性もある。
その場合は ember-lifeline というライブラリを使用して対応する。
複数のAPIが用意されているけど、setTimeout() のような内容を求める場合は runTask を使うと良さそう。
https://github.com/ember-lifeline/ember-lifeline/wiki/API#runtask
code:js
runTask(this, () => {
this.router.refresh();
});
指定する秒数が0の場合は省略が可能。
https://github.com/ember-lifeline/ember-lifeline/blob/master/packages/ember-lifeline/src/run-task.ts#L10
#Ember