2015-12-21 5 views
0

Что делает return, отправляет меня в начало функции. Однако для меня это бесполезно. Я выполняю функцию каждые 30 секунд с интервалом. Поэтому он продолжает работать там, где мне нужно, чтобы он запускался каждые 30 секунд.Как выйти из функции после получения ошибки в цикле?

И, насколько я знаю, break не помогает, он разбивает петлю, но все еще обрабатывает остальные коды.

Итак, есть функция или код, где он полностью убивает функцию, пока я не вспомню ее?

Спасибо за ваше время!

Редактировать: После запроса.

Редактирование 2: Чтобы быть ясным, остановить интервал не то, что мне нужно.

Итак, вот мой пример. То, что мне нужно в этом коде, проверяется на ошибку каждые 15 секунд. Но что этот код проверяет ошибку, и если он получает ошибку, он снова проверяет.

 setInterval(checkError, 15000); 
 
     
 
     function checkError() { 
 
\t \t \t \t if (err) { 
 
        console.log(err); 
 
        return; 
 
       } 
 
     }

+1

[clearInterval] (https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/clearInterval) – Tushar

+1

код пожалуйста ... – Arvind

+0

Хорошо, только отправил код –

ответ

1

return заявление никогда не приведет вас к началу функции. Что здесь происходит, так это то, что вы не останавливаете функцию setInterval, снова вызывающую функцию checkError.

Пожалуйста, используйте clearInterval, чтобы остановить повторение этого, когда захотите, - в этом случае, когда обнаружена ошибка.

var interval = setInterval(checkError, 15000); 

function checkError() { 
    if (err) { 
     console.log(err); 
     clearInterval(interval); //Stop the recurring here 
    } 
} 
Смежные вопросы