Imagine you have the following function, which is a function that takes a really long time to square a number. It takes a number to square, and a callback that it will eventually call with the result of squaring that number.
function slowSquare(x, callback) {
setTimeout(function() {
callback(x * x);
}, 500);