Skip to content

Instantly share code, notes, and snippets.

@eblahm
Created December 2, 2014 20:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save eblahm/cf727aca7a5503acea75 to your computer and use it in GitHub Desktop.
Save eblahm/cf727aca7a5503acea75 to your computer and use it in GitHub Desktop.
callbackStyle.js
var userTable = {
'123': {
id: '123',
name: 'Elon',
usage: 5000
}
};
var getUser = function(userId, callback) {
callback(null, {
id: userId,
usage: usageTable[userId]
});
};
var calculageUsage = function(user, callback) {
callback(null, user.usage + 50);
};
var save = function(user, callback) {
userTable[user.id] = user;
callback(null, 1);
};
var errorHandler = function(err) {
alert('sorry there as an error' + err);
};
// This is what a program looks like when you use the callback style
var updateUsage = function(userId, callback) {
// promise style
getUser(123, function(err, user) {
if (err) return errorHandler(err);
updateUsage(user, function(err, usage) {
if (err) return errorHandler(err);
user.usage = usage;
save(user, function(err, updateCount) {
if (err) return errorHandler(err);
alert('user ' + userId + 'usage has been updated');
alert('userTable:' + JSON.stringify(userTable));
callback();
});
});
});
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment