Как разработчики JavaScript, мы все теоретически изучили функцию обратного вызова. Но многие из нас не знают, как на самом деле это работает, и не имеют четкого представления о функции обратного вызова. Я также не понимал функцию обратного вызова, пока мой лектор хорошо не объяснил.

Что такое обратный вызов?

Проще говоря, мы можем сказать, что функция должна выполняться после выполнения другой функции. Вот почему мы не просто так называем эту функцию обратным вызовом. В основном в JavaScript одна функция может передавать другую функцию в качестве аргумента. Этот передаваемый аргумент является функцией обратного вызова.

Почему мы используем Обратный звонок?

function callName1(){
console.log("john");
}
function callName2(){
console.log("peter");
}
callName1();
callName2();

В приведенном выше коде, как вы ожидаете, функция callName1() будет выполняться первой, а затем будет выполняться callName2(). Но не все коды будут такими. Некоторые функции будут выполняться после того, как придет ответ, например API.

В приведенном ниже примере я собираюсь выполнить функцию setTimeout(), чтобы лучше понять.

function callName1(){
setTimeout (function(){
console.log("John");
},1000);
}
function callName2(){
console.log("peter");
}
callName1();
callName2();

теперь вывод будет таким, как показано ниже

//output
peter
John

Здесь также мы вызвали функцию callName1() первой, а затем вызвали функцию callName2() второй. а вывод наоборот. Произошло то, что вторая функция не дождалась выполнения первой функции, так как первая функция будет выполнена через 1 секунду. Таким образом, обратный вызов — это способ убедиться, что конкретный код не будет выполняться до тех пор, пока другой код не завершит выполнение.

Создание обратного вызова

Здесь мы увидим, как создать функцию обратного вызова.

function carStage(car,callback){
alert('Starting my ${car}');
callback();
}
carStage('BMW',function(){
alert('${car} is stopped');
});

Здесь вы можете видеть, что появятся 2 предупреждения, например, 1-е предупреждение будет «Запуск моего BMW», а 2-е предупреждение будет «BMW остановлен». Здесь мы передали нашу функцию обратного вызова в качестве аргумента функции carStage.

Вывод

Надеюсь, у вас есть базовое представление о функции обратного вызова. Тем не менее есть много вещей, которые нужно узнать о обратных вызовах. Мы можем научиться этим вещам, практикуясь изо дня в день.