2010-10-13 2 views
3

Как я могу прервать выполнение JavaScript-метода? Метод запланирован с использованием функции «setTimeout» в JavaScript, мне нужно прервать выполнение этого метода (не вызвав функцию clearTimeout), потому что она не может прервать выполнение метода во время его выполнения, но может отменить до того, как она уже начала выполняться, после начал выполнение метода «clearTimeout» не прерывает выполнение метода). Я хочу прервать, когда возникло определенное событие и взять управление потоком. Каков способ JavaScript для этого?Прерывание выполнения метода JavaScript

ответ

3

Если ваш метод синхронным вы не можете. Если он выполняет асинхронные операции, вы должны использовать флаг, который каждая операция проверяет перед запуском.

Также как SleepyCod сказал, что вы можете использовать setInterval/clearInterval, но вы можете сделать это, только если ваш метод должен делать то же самое в определенные периоды времени.

+0

На самом деле мой метод будет выполняться, когда мне нужно его прервать, его не до запуска выполнения метода! – Buddhi

+0

Как я уже сказал, если ваш метод синхронизирован, вы не можете его остановить. –

2

Не используйте SetTimeout но setInterval, и вы будете иметь возможность отменить выполнение с

clearInterval({your interval}); 
+0

Вы также можете вызвать 'clearInterval()' с интервалом, возвращаемым 'setTimeout()' - https://developer.mozilla.org/en/DOM/window.setTimeout –

+0

Это ничем не отличается от 'setTimeout '/' clearTimeout', поэтому, если вы не решите проблему, то и другая. Единственное отличие в 'setInterval' - его вызов будет повторяться, тогда как' setTimeout' не будет. -хх, просто увидел, что другой комментарий появился прямо над моей, извините за двойную публикацию. Но я считаю, что комментарий означает 'clearTimeout', где он также говорит' clearInterval'. –

+0

Ответ на этот вопрос не подходит. Вы должны удалить его. –

Смежные вопросы