setTimeout
фактически использует подкласс Timer
, SetIntervalTimer
, который является внутренним классом. Вы можете проверить, выполнив setTimeout(function ():void { throw "booom"; }, 1);
. Вы увидите это в трассировке стека.
Таким образом, я не вижу большого недостатка. Разница лишь в том, что у вас есть 2 анонимных звонка вместо одного. OTOH, в критических ситуациях производительности вы не должны использовать ни один (кроме одного внутреннего таймера), чтобы избежать частой реализации TimerEvent
объектов.
В принципе, я думаю, что это вопрос вкуса. Adobe решила, что система событий AS3 - это настоящая борьба, поэтому они ее продвигают.