![]() |
|
||||||||||
|
|||||
|
короче говоря:
вот так всё работает: а вот так твин просто не запускается, но объект становится видимым, значит в timeOut всё же заходит: |
|
|||||
|
Modus ponens
|
1. Никогда не используйте анонимные функции.
2. Не используйте setTimeout - используйте Timer. setTimeout там просто для красоты, чтобы соответствовать какой-то никому теперь не нужной бумажке.
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
Вы, собственно, вляпались не в таймер, а в уборщик мусора.
Он неровно дышит к твинам и прибивает их раньше, чем они отрабатывают. Не пользуйтесь штатным твином или честно его прописывайте в коде. Лучше взять TweenLite. Анонимные функции не подходят просто потому что не подходят. ))) Хотя и везде встречаются. |
|
|||||
|
Modus ponens
|
Анонимные функции создаются каждый раз по новой, когда выполняется этот участок кода, изза чего они, как и любой другой объект ссылочного типа не равны сами себе (т.как будут размножаться). Их не удобно дебажить, т.как непонятно откуда лезут ошибки. Если вы ее передадите по ссылке, то есть все шансы, что она где-нибудь "застрянет" и останется засорять память пока флешку не выключат. Кроме всего прочего, эти функции JITятся каждый раз. Т.е. их не компилируют один раз и забывают, а каждый раз по-новой. Кроме того, эти функции являются динамическими объектами с неопределенной областю вызова. Вы никогда не можете предсказать будут ли в функции ошибки типа NPE или нет.
__________________
Hell is the possibility of sanity |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Кому для красоты, а кому и в работе пригодится. Создавать ради единственного отложенного вызова чертов таймер — немыслимое расточительство.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 03:21. |
|
|
« Предыдущая тема | Следующая тема » |
|
|