親コンポーネントには、次のものがあります。
.
.
.
recurringFunc: function(delay, index){
.
.
.
if (someFlag){
Ember.run.later(_this, function() {
_this.send('otherFunc',{index: index});
_this.send('recurringFunc', delay, ++index);
}, delay);
}
},
otherFunc: function(somePara){
.
.
.
}
親テンプレートには次のものがあります。
.
.
.
{{template-name someFlag=someFlag}}
.
.
.
次に、子コンポーネントには次のものがあります。
input: function(){
this.set('someFlag', false);
this.sendAction('otherFunc', {index: someVal});
}
アクションが子コンポーネントから起動されると、親の someFlag が正常に変更されます。Ember.run.later
ただし、コードは、子から開始された otherFunc 呼び出しを実行する前に、親の最後の反復が実行されるのを待ちません。
Ember.run.later の最後の繰り返しの後に実行される otherFunc に依存する、省略した他のコードがあります。
子コンポーネントから親コンポーネント関数を呼び出し、呼び出された子関数が実行される前に Ember.run.later が終了していることを確認するにはどうすればよいですか?