В JavaScript функциями являются объекты первого класса .Вы можете хранить их в объектах (переменных) и передавать их в качестве аргументов функциям.Каждая функция на самом деле является Function
объектом.
В этом примере у вас нет функции обратного вызова.У вас будет одна, когда вы передадите функцию в качестве аргумента другой функции.
Это функция, которая вызывает функцию обратного вызова, когда она будет готова:
function load (ready_callback) {
// do some stuff
ready_callback();
}
, которую можно вызватьследующим образом:
function callback () {
alert('Ready');
}
load(callback);
Или:
var callback = function () {
alert('Ready');
}
load(callback);
Или:
load(function () {
alert('Ready');
});
Три приведенных выше примера в значительной степени эквивалентны.
Обратный вызовфункции обычно используются для обработки событий и асинхронных методов.Одним из примеров является метод setTimeout()
, который вызывает функцию обратного вызова по истечении времени ожидания:
var timerCallback = function () {
alert('Timeout Expired!');
}
setTimeout(timerCallback, 5000); // Set the timeout to 5 seconds