Programming with callbacks
A Callback can be defined as a function that is passed as an invocation argument to another function or method (which is referred to as a Higher-Order Function) and is expected to be executed at some later point of time. In this way, the piece of code that was handed our Callback will eventually invoke it, propagating the results of an operation or event back to the context that the Callback was defined.
Callbacks can be characterized as synchronous or asynchronous, based on the way that the invoked method operates. A Callback is characterized as synchronous when it is executed by a blocking method. On the other hand, JavaScript developers are more familiar with asynchronous callbacks, also called deferred callbacks, which are set to be executed after an asynchronous procedure finishes or when a specific event occurs (page load, click, AJAX response arrival, and so on).
Callbacks are widely used in JavaScript applications since they are an integral part of many core...