why use a call back function code example
Example 1: what is callback in function handler
Events - Think of a Server (Employee) and Client (Boss).
One Employee can have many Bosses.
The Employee Raises the event, when he finishes the task,
and the Bosses may decide to listen to the Employee event or not.
The employee is the publisher and the bosses are subscriber.
Callback - The Boss specifically asked the employee to do a task
and at the end of task done,
the Boss wants to be notified. The employee will make sure that when the task
is done, he notifies only the Boss that requested, not necessary all the Bosses.
The employee will not notify the Boss, if the partial job is done.
It will be only after all the task is done.
Only one boss requested the info, and employee only posted the
reply to one boss.
R: https://stackoverflow.com/a/34247759/7573706
Example 2: callback
/*
tl;dr: Callbacks are a way to force one function to complete,
before running another. Used for asynchronus programming.
*/
// Consider this example:
names = ['Anthony', 'Betty', 'Camie']
function addName(name, callback){
setTimeout(function(){
names.append(name)
callback()
}, 200)
}
function getNames(){
setTimeout(function(){
console.log(names)
}, 100)
}
addName('Daniel', getNames)
/*
addName('Daniel', getNames) is saying:
'finish the function addName() BEFORE running the function getNames()'
> 'getNames()' here is the callback
Without the call back in this example, getNames would finish
before addName. (setTimeout is used to force one function to go slower)
Callbacks are given as arguments to other functions
*/