Blame view
node_modules/run-async/index.js
555 Bytes
f7563de62
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
'use strict'; var once = require('once'); /** * Run a function asynchronously or synchronously * @param {Function} func Function to run * @param {Function} cb Callback function passed the `func` returned value * @...rest {Mixed} rest Arguments to pass to `func` * @return {Null} */ module.exports = function (func, cb) { var async = false; var answer = func.apply({ async: function () { async = true; return once(cb); } }, Array.prototype.slice.call(arguments, 2) ); if (!async) { cb(answer); } }; |