Полный цикл в digital

Колбэк функции

Колбэк функция callback function это обычная функция, которая вызывается внутри другой функции. Такие функции ещё называются функциями обратного вызова. Они очень часто применяются в асинхронном коде и не только. Передаётся колбэк функция в другую через аргумент:

// колбэк функция
function callback() {
  console.log("Сработала функция: callback");
}
// функция, которая будет принимать на вход колбэк функцию
function myFunc(callbackFunction) {
  console.log("Сработала функция: myFunc");
  callbackFunction();
}
// вызываем функцию myFunc() и передаём ей в качестве аргумента колбэк функцию callback
myFunc(callback);

Таким образом, функция callback вызывается внутри функции myFunc, в неё она передаётся как аргумент. Без вызова myFunc функция callback не вызовется, т.к. она вызывается только внутри myFunc.

Пример посложней:

// колбэк функция
function callback(nameCallback) {
  console.log(`Сработала функция: ${nameCallback}`);
}
// функция, которая будет принимать на вход колбэк функцию и параметры
function myFunc(nameMyFunc, nameCallback, callbackFunction) {
  console.log(`Сработала функция: ${nameMyFunc}`);
  callbackFunction(nameCallback);
}
// вызываем функцию myFunc() и передаём ей в качестве аргумента колбэк функцию callback
myFunc('myFunc', 'callback', callback);

Тоже самое с использованием стрелочной функции:

// колбэк функция
let callback = (nameCallback) => {
  console.log(`Сработала функция: ${nameCallback}`);
}
// функция, которая будет принимать на вход колбэк функцию и параметры
let  myFunc = (nameMyFunc, nameCallback, callbackFunction) => {
  console.log(`Сработала функция: ${nameMyFunc}`);
  callbackFunction(nameCallback);
}
// вызываем функцию myFunc() и передаём ей в качестве аргумента колбэк функцию callback
myFunc('myFunc', 'callback', callback);

Колбэк функция с таймером:

// колбэк функция
function callback() {
  document.body.style.backgroundColor = "#00ff00";
}
// функция, которая будет вызывать функцию callback через 3 секунды
setTimeout(callback, 3000);

Возможны ситуации, когда одна колбэк функция вызывает другую колбэк функцию. Всё это возможно, благодаря тому, что функции являются объектами. А так как функция является объектом, её как значение можно передавать в другие функции посредством аргументов.

Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!