8

Ok so lets say I have this function:

function a(message) {
alert(message);
}

And I want to have a callback after the alert window is shown. Something like this:

a("Hi.", function() {});

I'm not sure how to have a callback inside of the function I call like that.

(I'm just using the alert window as an example)

Thanks!

ConnorLaCombe
  • 320
  • 1
  • 3
  • 9

3 Answers3

25

There's no special syntax for callbacks, just pass the callback function and call it inside your function.

function a(message, cb) {
    console.log(message); // log to the console of recent Browsers
    cb();
}

a("Hi.", function() {
    console.log("After hi...");
});

Output:

Hi.
After hi...
Ivo Wetzel
  • 46,459
  • 16
  • 98
  • 112
6

You can add a if statement to check whether you add a callback function or not. So you can use the function also without a callback.

function a(message, cb) {
    alert(message);
    if (typeof cb === "function") {
        cb();
    }
}
Simon
  • 371
  • 2
  • 11
1

Here is the code that will alert first and then second. I hope this is what you asked.

function  basic(callback) {
    alert("first...");
    var a = "second...";
    callback(a);
} 

basic(function (abc) {
   alert(abc);
});
Andrei V
  • 7,306
  • 6
  • 44
  • 64