Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Callbacks in Javascript
function getUser(userID, callback) {
/* This is a hypothetical function. Normally we'd talk to a database or so, but this is to illustrate the concept... */
var someUser = {name: "Joe Bloggs", age: 42};
callback(someUser); /* Here we call the callback from the second function argument, with our fake user */
}
/* Code: */
getUser(42, function(user){
/* Now `user` contains {name: "Joe Bloggs", age: 42} */
});
/* We could also write this as: */
function whenDone(user) {
/* Now `user` contains {name: "Joe Bloggs", age: 42} */
}
getUser(42, whenDone);
@steltenpower

This comment has been minimized.

Copy link

steltenpower commented Mar 7, 2016

wouldn't it be easier to understand when age and userID were not the same number?

@diogocapela

This comment has been minimized.

Copy link

diogocapela commented Feb 21, 2017

Shouldn't it be like this instead?

function getUser(someUser, callback) {

}
@tombusby

This comment has been minimized.

Copy link

tombusby commented Aug 18, 2018

@diogocapela No because he's simulating a DB call.

It would normally be:

var someUser = db.getUserById(userID);

But instead he's just creating an object and pretending that's what he looked up with the userID.

It would probably be clearer if he made use of that getUser function he created though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.