ФорумПрограммированиеJavaScript → метод проверки отработки методов

метод проверки отработки методов

  • mvp

    Сообщения: 29 Репутация: N Группа: Кто попало

    Spritz 17 июня 2010 г. 3:17

    вопрос: если нужно запустить некую функцию (например, alert('end') ) в момент, когда закончится работа всех других методов (даже тех, кои неизвестны сейчас), что делать?

    (опуская мысль о том, что окончание выполнения методов в таком случае просто невозможно и alert() будет бесконечно вызываться в конце)

    что-то по примеру jquery метода .ready(), который обычно используется для проверки полной загрузки страницы [ $( document ) .ready(…) ]

    P.S. беря во внимание, что нет возможности расставить флажки во все методы при сборке страницы.
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 17 июня 2010 г. 3:59, спустя 42 минуты 25 секунд

    mvp, бред? да нет не бред, просто перекур :D

    может с задачи начнете а не с видения решения, которое вам пришло?
    Сапожник без сапог
  • mvp

    Сообщения: 29 Репутация: N Группа: Кто попало

    Spritz 17 июня 2010 г. 23:35, спустя 19 часов 35 минут 24 секунды

    и я тоже рад Вас видеть :) опять…

    задача простая:
    есть страничка со сторонним аджаксом, на нее грузятся непоймичто-методы и делают всякие преобразования с элементами.
    нужно дождаться когда все преобразования завершаться и выципить содержимое некоторых элементов (дивоф, ясное дело)

    по сути нужен листенер состояния активности методов.

    сейчас я решаю это по простому - просто через таймаут дергаю метод проверяющий наличие специфического элемента на странице, но это не красиво и слишком конкретно, а хочется аккуратного абстрактного решения.

  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 17 июня 2010 г. 23:41, спустя 6 минут 8 секунд

    чувствую что таймаут - лучшее решеие)))

    потмоу что не слышал ни про один евент который бы такое отслеживал ..
    Сапожник без сапог
  • AlexB

    Сообщения: 4290 Репутация: N Группа: в ухо

    Spritz 18 июня 2010 г. 1:42, спустя 2 часа 43 секунды

    А нельзя, чтоб каждое преобразование устанавливало флаг, что оно закончено.
    По setinterval проверять флаги, и в тот момент когда все установлены запустить финальный процесс.
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 18 июня 2010 г. 4:05, спустя 2 часа 23 минуты 44 секунды


    А нельзя, чтоб каждое преобразование устанавливало флаг, что оно закончено.
    По setinterval проверять флаги, и в тот момент когда все установлены запустить финальный процесс.
    Это самое простое что приходит в голову и по-моему ТС так и поступил
    adw/0
  • Nyaah

    Сообщения: 574 Репутация: N Группа: Джедаи

    Spritz 18 июня 2010 г. 9:16, спустя 5 часов 10 минут 54 секунды

    Если приложение не асинхронное, поставь в конец очереди для ондомрэди свою функцио, она будет вызвана последней.
    Если асинхронноые запросы выполняются, я бы на бефор реквест повесил счётчик +1 реквесткаутер на афтерреквест -1, и эвент сделал онреквесткаутерчейндж+1->0 таймаут полсекунды-секунда (чтобы подождать пока ноды построятся) и запускал бы функцию свою
    Work, buy, consume, die
  • master

    Сообщения: 3236 Репутация: N Группа: Джедаи

    Spritz 18 июня 2010 г. 10:09, спустя 53 минуты 14 секунд

    я бы на бефор реквест повесил счётчик +1 реквесткаутер на афтерреквест -1


    реквесты иногда теряются. т.е. -1 нужен не только на афтерреквест, но и на реквесттаймаут
    не всё полезно, что в swap полезло
  • Nyaah

    Сообщения: 574 Репутация: N Группа: Джедаи

    Spritz 18 июня 2010 г. 10:52, спустя 42 минуты 53 секунды

    ну да, ещё на таймаут можно что-нить повесить, а то малоли чего там запускается )
    Work, buy, consume, die
  • AlexB

    Сообщения: 4290 Репутация: N Группа: в ухо

    Spritz 18 июня 2010 г. 11:57, спустя 1 час 4 минуты 22 секунды


    на бефор реквест повесил счётчик +1 реквесткаутер на афтерреквест -1, и эвент сделал онреквесткаутерчейндж+1->0 таймаут
    Ебать, это на каком языке написано?
  • Nyaah

    Сообщения: 574 Репутация: N Группа: Джедаи

    Spritz 18 июня 2010 г. 13:06, спустя 1 час 9 минут 44 секунды

    хз xD
    Work, buy, consume, die
  • mvp

    Сообщения: 29 Репутация: N Группа: Кто попало

    Spritz 19 июня 2010 г. 1:40, спустя 12 часов 33 минуты 56 секунд

    спасибо :)
    понял, что решение не тривиальное :)

    пока останусь на своем решении с ожиданием, так как не все еще смог
    понять из предложенного (даже не сразу и прочитал).
    буду траить транслейтить респонс… :)

Пожалуйста, авторизуйтесь, чтобы написать комментарий!