var defer = require('./defer.js');
module.exports = async;
function async(callback)
{
var isAsync = false;
defer(function() { isAsync = true; });
return function async_callback(err, result)
{
if (isAsync)
{
callback(err, result);
}
else
{
defer(function nextTick_callback()
{
callback(err, result);
});
}
};
}