Я провел еще какое-то исследование и обнаружил, что это действительно ошибка в flexunit, которая в следующем выпуске будет исправлена Обходной путь, который я нашел, заключался в использовании Application.application.callLater
для отправки второго события.
private function verifyFirst(e:Event):void {
var cont:EventDispatcher = new EventDispatcher();
cont.addEventListener("continue", addAsync(verifySecond, 1000));
Application.application.callLater(cont.dispatchEvent,
[new Event("continue")]);
}
Этот вопрос был вдохновлен попыткой проверить состояние объекта после того, как все в очереди событий Flash было обработано. Я обнаружил более простой способ сделать это, не связываясь с EventDispatcher
s.
Выполните следующий вызов в конце первой части теста, если вы хотите, чтобы очередь событий была обработана.
Application.application.callLater(addAsync(phaseTwo, 1000, [
арг ... ]), [null]);
С функцией phaseTwo
, имеющей следующую подпись.
private function phaseTwo(e:Event, args:Array):void
e
будет передан объект null
. Это необходимо для совместимости с addAsync
.