What if node functions looked like this?
function getUserRecord1 (id, errCb, successCb) {
var user = getUser(id)
if (user.type === 'error') return errCb(user)
successCb(user)
}
Or even ...
function getUserRecord2 (id) {
return function (errCb, successCb) {
var user = getUser(id)
if (user.type === 'error') return errCb(user)
successCb(user)
}
}
function getUser (id) {
return id < 2 ? [ "success", "Jigglypuff", Infinity, "JavaScript" ] : [ "error", "Gimme a break!" ]
}