Nach der Dokumentation für Ember.run es:Warum wird der Aufruf von ember.run beendet, bevor die von ember.run.later geplante Arbeit abgeschlossen ist?
Führt das übergebene Ziel und Methode innerhalb eines Runloop, um sicherzustellen, jeden verzögerte Aktionen einschließlich Updates Bindungen und Ansichten bei das Ende gespült werden.
und so erwartete ich, dass, wenn ich es in einem Test durchzuführen, wenn die im Test befindlichen Code für einige Arbeit später mit Ember.run.later planen war, die sie vor dem Ember.run Anruf beendet vervollständigen sollen, aber das scheint nicht zu so sein:
test('Ember.run waits for all scheduled actions to finish', function(assert) {
assert.expect(2);
var done = assert.async();
let isRunLaterThingFinished = false;
Ember.run(function() {
Ember.run.later(function() {
isRunLaterThingFinished = true;
assert.ok(true, 'the scheduled thing happened');
done();
}, 1);
});
assert.ok(isRunLaterThingFinished, "scheduled actions should have happened by the time ember run finishes");
});
was zur Folge hat:
Ember.run waits for all scheduled actions to finish
1. scheduled actions should have happened by the time ember run finishes
Expected: true
Result: false
kann mir jemand erklären, was ich hier fehlt, und wie ich meine Tests warten auf alle geplanten Methoden haben zu beenden, bevor Sie meine behaupten s?
Ich fand eine Ressource, die für mein Verständnis von Glut-Runloops eher aufschlussreich erweist: https://github.com/eoinkelly/ember-runloop-handbook – Bjornicus