Функция setTimeOut в javascript принимает функцию обратного вызова и запускает ее после указанного времени, которое вы передаете в качестве аргумента.
Возьмем пример:
function shoutOut(userName, userOneLiner) { alert(`Hey ${userName}, you are ${userOneLiner}`); }
setTimeout(shoutOut, 3000, "Mayank", "Awesome");
//An alert message will show after 3 seconds
В блоке кода выше мы создали функцию shoutOut и передали ее как функцию обратного вызова в setTimeOut вместе с аргументами («Mayank» и «Awesome»). Функция запускается через 3 секунды (3000) и отображает предупреждающее сообщение.
Функция setInterval в Javascript продолжает выполнять переданную ей функцию обратного вызова в течение указанного интервала, который вы передаете в качестве аргумента.
Возьмем пример:
function repeatText(userText) {
console.log(`This text (${userText}) keeps repeating :) `);
}
setInterval(repeatText, 5000, "I'll repeat!");
//(10)actions.js:7 This text (I'll repeat!) keeps repeating :)
//The text keeps repeating
Есть еще одна функция, которая имеет два экземпляра: один для setTimeOut, а другой для setInterval. Это функция очистки (clearTimeOut и clearInterval). Он в основном очищает / останавливает таймер для функций setInterval и setTimeOut, и функция перестает работать. Для остановки функций требуется идентификатор setTimeOut и setInterval.
Давайте посмотрим на пример:
function shoutOut(userName, userOneLiner) { alert(`Hey ${userName}, you are ${userOneLiner}`); } const shoutTimer = setTimeout(shoutOut, 3000, "Mayank", "Awesome"); clearInterval(shoutTimer);
function repeatText(userText) { console.log(`This text (${userText}) keeps repeating :) `); } const repeatTextInterval = setInterval(repeatText, 5000, "I'll repeat!"); clearInterval(repeatTextInterval);
В приведенном выше примере кода мы назначаем функции setTimeOut и setInterval их соответствующим переменным. Эти переменные могут использоваться (в качестве аргумента для clearInterval) для остановки / очистки тайм-аута и интервалов. Вы также можете получить их идентификаторы, обратившись к переменным shoutTimer и repeatTextInterval в консоли.
shoutTimer
//1 - id
repeatTextInterval
//2 - id