How does the function 'return' it's computed value? If it uses the return statement, it's blocking:
var doBlockingStuff = function(a, c) { b = a * c; return b; };
If it uses a callback to move forward with the computed value, it's non-blocking:
var doNonBlockingStuff = function(a, c, callback) { b = a * c; callback(null, b); };
You may see return statements in non-blocking code, simply to halt execution. They're still non-blocking if the value computed by the function is passed to a callback:
var doNonBlockingStuff = function(a, c, callback) { b = a * c; if (b < 0) { var err = 'bad things happened'; return callback(err); } return callback(err, b); };