var defer = require('./defer.js'); // API module.exports = async; /** * Runs provided callback asynchronously * even if callback itself is not * * @param {function} callback - callback to invoke * @returns {function} - augmented callback */ function async(callback) { var isAsync = false; // check if async happened defer(function() { isAsync = true; }); return function async_callback(err, result) { if (isAsync) { callback(err, result); } else { defer(function nextTick_callback() { callback(err, result); }); } }; }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
abort.js | File | 497 B | 0644 |
|
async.js | File | 599 B | 0644 |
|
defer.js | File | 441 B | 0644 |
|
iterate.js | File | 1.75 KB | 0644 |
|
readable_asynckit.js | File | 1.57 KB | 0644 |
|
readable_parallel.js | File | 673 B | 0644 |
|
readable_serial.js | File | 655 B | 0644 |
|
readable_serial_ordered.js | File | 941 B | 0644 |
|
state.js | File | 941 B | 0644 |
|
streamify.js | File | 2.89 KB | 0644 |
|
terminator.js | File | 533 B | 0644 |
|