Описание тега callback
Обратный вызов - это фрагмент кода (то есть адрес или ссылка на функцию или метод или лямбда-выражение), который передается в качестве аргумента другому коду, который, как ожидается, вызовет (выполнит) аргумент в удобное время. Этот тег следует использовать с вопросами об API, который использует обратные вызовы для уведомления вызывающего абонента о завершении действия. Используйте тег обработки событий для вопросов, связанных с подпиской на события, например, в среде графического интерфейса пользователя.
В компьютерном программировании обратный вызов - это фрагмент исполняемого кода, который передается в качестве аргумента другому коду, который, как ожидается, вызовет (выполнит) аргумент в удобное время. Вызов может быть немедленным, как в синхронном обратном вызове, или может произойти позже, как в асинхронном обратном вызове.
Статья Википедии: http://en.wikipedia.org/wiki/Callback_(computer_programming)
Пример обратного вызова процесса синхронизации в javascript:
function outer(argumentOne, fn){
console.log("what was argumentOne? ", argumentOne);
return fn();
}
function someCallback() {
console.log("callback triggered!");
}
outer("brown", someCallback);
Пример обратного вызова асинхронного процесса в javascript:
function mySandwich(param1, param2, callback) {
console.log('Started eating my sandwich.\n\n It has: ' + param1 + ', ' + param2);
setTimeout(function(){
callback(null,param1*param2);},2000);
}
mySandwich(1, 2, function(err,result) {
console.log('Finished eating my sandwich.' + result);
});
Выход:
Started eating my sandwich.
It has: 1, 2
Finished eating my sandwich.2