scheduleOnce('afterRender', function x() {
// Do something
});
比方说,我已经安排了工作(函数x)这样的和去一些其他的功能(事件回调)。这里面,我怎么知道上面作业的状态(例如,计划,已完成)?
你可以把一个标志回调里面。
scheduleOnce('afterRender', () => {
doSomething();
this.hasRun = true;
});
另一个更灰烬的解决办法是为任务自动保持其状态的轨迹在这里使用的任务。
import Component from '@ember/component';
import { task } from 'ember-concurrency';
export default Component.extend({
myTask: task(function * (){
yield doSomething();
return true;
}).on('afterRender')
});
{{#if myTask.lastSuccessful.value}}
//only shows up after the task has run at least once
{{/if}}