Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.02.2017, 17:55   #1
mrprim
Пользователь
 
Регистрация: 07.06.2016
Сообщений: 52
По умолчанию Timer JS

Добрый день. Необходимо установить интервал ожидания несколько секунд.
Пробовал вот такие варианты и ничего не сработало

Код:
 function test() {
        for(var i = 1; i <= 10;  i++){
            if(a=1){
                    console.log("test succes", i);
                    setTimeout(1000);
            }
        }
    }
Код:
 function test() {
        for(var i = 1; i <= 10;  i++){
            setTimeout(function(){
                     if(a=1){
                    console.log("test succes", i);
                     }
             }, 1000);
        }
    }
так же пробовал с SetInterval и еще разные варианты setTimeout но все 10 "test succes", i появляются мгновенно

Последний раз редактировалось Alex11223; 04.02.2017 в 18:00.
mrprim вне форума Ответить с цитированием
Старый 04.02.2017, 18:06   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

setTimeout это 1 раз через указанное время, setInterval постоянно (например каждую секунду).

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

Наверно вы что-то такое хотели:
Код:
var i = 1;
setInterval(function() {
    i++;
    console.log(i);
}, 1000);
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 04.02.2017, 20:47   #3
mrprim
Пользователь
 
Регистрация: 07.06.2016
Сообщений: 52
По умолчанию

Циклы я упростил поэтому их нельзя убирать. В коде они нужны. попробовал ваш код, считает от 1 до 10 за микросекунду и всё.
mrprim вне форума Ответить с цитированием
Старый 04.02.2017, 21:16   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Как пробовали? Какая задача?

Нельзя так таймеры использовать, JS не так работает, как вы хотите.

setInterval/setTimeout просто запускает таймер, который сработает через указанное время.
Если почти одновременно запустить 10 таймеров с одним и тем же временем, то конечно они сработают одновременно.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 04.02.2017 в 21:21.
Alex11223 вне форума Ответить с цитированием
Старый 05.02.2017, 01:17   #5
mrprim
Пользователь
 
Регистрация: 07.06.2016
Сообщений: 52
По умолчанию

У меня в базе есть координаты, сервер отправляет координаты по запросу клиента.
Мне необходимо выводить координаты на html РОВНО раз в секунду и каждый раз новые.
Прошлая проблема, как вы и сказали, была в цикле For.
Я заменил его на if.
Но возник новый баг. Каждый раз, запуская функцию таймера и всего процесса, происходит вот что:
1ый раз всё работет идеально: 1сек, действие, 1сек, действие и тд
2ой раз: 1сек, действие, действие, 1 сек, действие, действие и тд
3ий: количество проскоков увеличивается до 3ех
Не могу понять в чём проблема, хоть убей...
mrprim вне форума Ответить с цитированием
Старый 05.02.2017, 01:29   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

А зачем запускать его много раз? Просто setInterval один раз после загрузки страницы.

Но если надо именно сразу после обновления данных на сервере, то надо как-нибудь с ним синхронизироваться, а не когда попало. Как в предыдущей теме говорилось.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Timer povelitel Общие вопросы Delphi 6 12.04.2015 17:07
Timer nwhta C# (си шарп) 10 31.08.2013 22:41
timer Cpluser C# (си шарп) 4 06.09.2011 17:33
timer(vc++) NiCola999 Windows Forms 13 31.01.2011 06:00
timer Toxa Компоненты Delphi 6 06.12.2006 06:58