Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Почему иногда не сробатывает SetTimeOut / 11 сообщений из 11, страница 1 из 1
08.01.2013, 12:37
    #38102063
lans
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему иногда не сробатывает SetTimeOut
Всем добрый день. У меня ряд событий происходят через определённый интервал времени, реализовано через SetTimeOut - ы т.е получается SetTimeOut находиться в SetTimeOut. Так вот не пойму почему то функция которая находится в последнем SetTimeOut не всегда срабатывает,где то раз через 20 не срабатывает пробовал очищать clearTimeout но не помогает. Может кто сталкивался?
...
Рейтинг: 0 / 0
08.01.2013, 12:38
    #38102067
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему иногда не сробатывает SetTimeOut
lans, код покажите.
...
Рейтинг: 0 / 0
08.01.2013, 12:50
    #38102072
lans
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему иногда не сробатывает SetTimeOut
skyANAlans, код покажите.
Код довольно большой. Высылаю часть

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
function hodadm(data) {
 setTimeout(function () { skld(data); }, 1000);
}

function skld(data) {
    $('.cardcld').css('background-image', 'url("' + data.kUrl + '")');
    var tmskld;
    window.clearTimeout(tmskld);
    tmskld = setTimeout(function () {

        if (data.st2 != null && data.st2.length > 0) {
          ...................
...
Рейтинг: 0 / 0
08.01.2013, 12:54
    #38102074
Програмёр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему иногда не сробатывает SetTimeOut
lansВсем добрый день. У меня ряд событий происходят через определённый интервал времени, реализовано через SetTimeOut - ы т.е получается SetTimeOut находиться в SetTimeOut. Так вот не пойму почему то функция которая находится в последнем SetTimeOut не всегда срабатывает,где то раз через 20 не срабатывает пробовал очищать clearTimeout но не помогает. Может кто сталкивался?
а зачем таймаут в таймаут вкладывать? Если правильно понял, то подойдёт обычный setInterval. Не срабатывать может из-за сбившейся логики (просто в таймаутах запутались).
согласен со skyANA , ждём код. А ещё интересно узнать в чём проявляется несрабатывание функции.
...
Рейтинг: 0 / 0
08.01.2013, 12:59
    #38102077
Програмёр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему иногда не сробатывает SetTimeOut
Прикольно, пока писал и код подошёл :)
lans, уверены, что условие выполняется. Перед условием какой-нить вывод бы сделать, что бы понимать вызывается ли функция вообще.
...
Рейтинг: 0 / 0
08.01.2013, 13:04
    #38102082
lans
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему иногда не сробатывает SetTimeOut
ПрограмёрПрикольно, пока писал и код подошёл :)
lans, уверены, что условие выполняется. Перед условием какой-нить вывод бы сделать, что бы понимать вызывается ли функция вообще.
да там ниже код есть который не блоке условия находится
...
Рейтинг: 0 / 0
08.01.2013, 13:05
    #38102083
lans
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему иногда не сробатывает SetTimeOut
ПрограмёрlansВсем добрый день. У меня ряд событий происходят через определённый интервал времени, реализовано через SetTimeOut - ы т.е получается SetTimeOut находиться в SetTimeOut. Так вот не пойму почему то функция которая находится в последнем SetTimeOut не всегда срабатывает,где то раз через 20 не срабатывает пробовал очищать clearTimeout но не помогает. Может кто сталкивался?
а зачем таймаут в таймаут вкладывать? Если правильно понял, то подойдёт обычный setInterval. Не срабатывать может из-за сбившейся логики (просто в таймаутах запутались).
согласен со skyANA , ждём код. А ещё интересно узнать в чём проявляется несрабатывание функции.
в каждом таймауте свой код выполняется интервалом помоему не получится или же вообще боюсь запутаться(
...
Рейтинг: 0 / 0
08.01.2013, 13:07
    #38102085
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему иногда не сробатывает SetTimeOut
lans, а в чём смысл setTimeout в функции skld?
...
Рейтинг: 0 / 0
08.01.2013, 13:15
    #38102093
lans
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему иногда не сробатывает SetTimeOut
skyANAlans, а в чём смысл setTimeout в функции skld?
вообщем это карточная игра что то вроде дурака.
и когда ход делает сервер я таймаутами отображаю действие так вот метод skld снимает с колоды карту
...
Рейтинг: 0 / 0
08.01.2013, 13:16
    #38102096
lans
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему иногда не сробатывает SetTimeOut
т.е прошда секунда я переворачиваю карту
Код: javascript
1.
$('.cardcld').css('background-image', 'url("' + data.kUrl + '")');



прошла ещё секунда ставлю на стол ну и т.д.
...
Рейтинг: 0 / 0
08.01.2013, 13:34
    #38102105
Програмёр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему иногда не сробатывает SetTimeOut
lans, Вижу только одну возможную причину. Возможно при сбое всё происходит так:

1. вне функций создаётся объект data
2. ссылка передаётся в hodadm
3. по таймауту ссылка на data передаётся в skld

4. вне функций меняется объект data (например делается следующий ход вызывающий повторно цепочку действий описанных выше)

5. по таймауту ссылка на data (уже изменённую) передаётся в анонимную функцию.

Таким образом функция отрабатывается но уже с обновлённым data, поэтому действий над прошлым ходом не происходит.

Возможно так. Если нет, тогда было бы интересно узнать почему, когда проблема решиться :)
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Почему иногда не сробатывает SetTimeOut / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]