Новичок: JavaScript перестает выполняться после того, как я установил точку останова - PullRequest
1 голос
/ 31 мая 2009

На одной странице HTML у меня есть функция JavaScript checkUpdates (), которая попадает на сервер. Я заставляю эту функцию запускаться каждые 5 секунд с этой строкой:

window.setInterval("checkUpdates()", 5 * 1000);

В Firebug я поставил точку останова внутри функции checkUpdates (). Однако после того, как выполнение кода останавливается на этой точке останова, нажатие «continue» иногда ничего не делает. Весь JavaScript на моей странице остановился.

Это как-то связано с приведенной выше строкой кода? Останавливается ли цикл, который выполняет checkUpdates () каждые 5 секунд, когда я нахожусь в точке останова, или он продолжает работать в фоновом режиме? Интересно, что заставляет вещи ломаться дольше, чем 5-секундный интервал, чтобы нажать «продолжить».

Примечание: я новичок в Javascript и программировании, управляемом событиями, в целом, поэтому я все еще немного не в курсе некоторых парадигм, таких как выполнение кода последовательно или одновременно. Буду признателен за любые ссылки на материалы для чтения по этому вопросу.

Ответы [ 2 ]

2 голосов
/ 31 мая 2009

Останавливается ли цикл, который выполняет checkUpdates () каждые 5 секунд, когда я нахожусь на точке останова, или он продолжает работать в фоновом режиме?

Да, он делает STOP все!

но вскоре вы нажмете «Продолжить» или «Воспроизвести», он возобновится и продолжит ломаться в том же месте (я предполагаю, что вы ломаете в методе checkUpdates .

используйте Firebug , чтобы отследить это, его очень легко использовать.

Я только что создал простой HTML-файл, чтобы вы могли видеть, что он работает

Здесь также есть скринкаст .

код: http://jsbin.com/izazu <- помните, что вы можете <strong>редактировать добавлять / редактировать перед URL.

1 голос
/ 31 мая 2009

выполняет ли цикл, который выполняется checkUpdates () каждые 5 секунд пауза когда я нахожусь в точке останова, или делает это продолжать работать в фоновом режиме?

Полагаю, он продолжает работать.

Интересно, если ждать дольше, чем 5-секундный интервал для нажатия «продолжить» это то, что заставляет вещи ломаться.

Это было мое первое предположение. Это достаточно просто проверить - попробуйте установить интервал в 500 секунд.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...