Павел: Я вот пишу тестовые примеры без использования препроцессора. И не вижу никакой связи между требованием облегчить жизнь отвечающим и совершенно необязательными вещами.
Павел: А как выбор препроцессора относится к проблеме, которую озвучил Виктор Ablebeam?
Речь о том, что нужно создать страницу на тестовом ресурсе. А что использовать при написании кода — вообще фиолетово.
Александр Крупнов: С учётом того, что по истечению интервала времени будет запущен асихронный вызов, то использование setInterval вообще не нужно. Получили, запустили отложенный вызов. Получили, запустили...
Я вообще не понимаю вашей логики. Если у вас есть потребность в постоянных запросах, то, во-первых, стоит посмотреть в сторону WebSockets. Во-вторых, если всё-таки AJAX, то после получения ответа вызывать setTimeout для этой же функции.
Не нужно вам никаких setInterval, ну а то, что вы с ними делаете, не укладывается в моё понимание...
Вижу, вы просто не понимаете... Ещё раз на пальцах — вы постоянно вызываете функцию news. Или вы внутри неё создаёте отложенный вызов с помощью setTimeout, или вне этой функции запускаете генерацию отложенных функций с помощью setInterval.
Но, если вы в теле функции каждый раз вызываете setInterval, вы получаете через 15 секунд удвоенное количество вызовов. То есть, через 60 секунд вы получите 8 вызовов в одно и то же время. А через 2 минуты запустится 128 вызовов news. Вы этого хотите?)
Я тоже не уверен — ведь с ошибкой ubderfiend я не сталкивался никогда) Однако, функция news() может быть в глобальном контексте — скрипт в конце body после формы и ждать построения DOM Не нужно, функция news() вызывается вручную (тем же кликом etc.) и также стоит просто в глобальном контексте.
Ну и я не вижу необходимости формировать анонимную функцию, если можно передать ссылку на news.