![]() |
Про setInterval(funcName, time) подскажите...
Может в итоге и не setInterval стоит применять, но суть в том, что кажется, это самый разумный и быстрый путь, чтобы функция исполнялась, спустя какое-то время после события.
Итак, имеем такую вот конструкцию: при некоем триггере происходит эта строчка: Код AS1/AS2:
Как только это происходит - всё, код функции начинает страбатывать каждые 10 сек, независимо не от чего :( Я так понимаю, происходит какое-то дублирование intID - но почему, и как с этим бороться ? |
Вообще-то существует замечательная функция-сестра интервальной - setTimeout, крепко отчего-то всеми игнорируемая, и для которой нет необходимости отключать выполнение явно, так как заданная на исполнение функция выполнится только один раз.
Короче, она идеально подходит для разового отсроченного исполнения: Код AS1/AS2:
Видимо setTimeout - это та же setInterval c автоматической самоочисткой после первого же выполнения целевой функции. PS. Во, даже парсер AS-кода на форуме с нею не знаком - не подсветил синим... беда прямо.. :) Теперь по вашей ошибке - возможная и распространенная причина в том, что у вас интенсивно стартовался каждый раз новый интервал, а не один и тот же при сработке триггера! То есть функция не успевала очищать все вновь и вновь стартуемые интервалы. В этом можно убедится, если сделать trace по его имени - каждый раз номер будет на единицу большим. Нужно их было делать именными и очищать каждый индивидуально (это не один и тот же интервал), в этом была проблема. Вот смоделирован пример для иллюстрации, в нем стартуется 10 раз вызов целевой функции с трейсом сообщения, делается через интервал. Код AS1/AS2:
|
Супер, читал туториалы и setTimeout фигурировал только в уроках к AS3.
Поверил людям на слово :) был уверен, что он есть только в АС3 ! |
| Часовой пояс GMT +4, время: 04:46. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.